选择元素通过jquery进行迭代,第一个保持不变

哈夫苏尔·马鲁(Hafsul Maru)

视图的一部分是这样的

  <div id="edit_selected_attributes">
 <div>
  <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_9">
 <option> Select  Com Weight</option>
 <option value="12">1</option>
 <option value="13">2</option>
 <option value="14">3</option></select>
</div>
<div>
 <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_11">
 <option> Select  Composition</option>
 <option value="15">1</option>
 <option value="16">2</option>
 <option value="17">3</option>
</select>
</div>
<div>
<select class="form-control edit-select-attribute" id="edit_inv_attribute_id_12">
<option> Select  Composition</option>
<option value="18">1</option>
<option value="19">2</option>
<option value="20">3</option>
 </select></div>
<div>
<select class="form-control edit-select-attribute" id="edit_inv_attribute_id_16">
<option> Select  Composition</option>
<option value="22">1</option>
<option value="23">2</option>
<option value="24">3</option>
</select></div>
<div>
<select class="form-control edit-select-attribute" id="edit_inv_attribute_id_17">
<option> Select  Composition</option>
<option value="26">1</option>
<option value="27">2</option>
<option value="28">3</option>

然后,我从数据库中检索了两个数字作为字符串,例如“ 12,16,18,22,28”,将它们拆分为数组[12,16,18,22,28]

这样检索和迭代

  $.ajax({
   type: 'post',
    url:"{{url('library/inv_item/get_item_data')}}",
    async:false,
   data:{inv_item_id:inv_item_id},
   success: function(data4){  /* data4 = "12,16,18,22" */                                         
   var data5 = data4.split(',');

   $('.edit-select-attribute').each(function(ind,val){                    
    $.each(data5,function(i5,v5){
     var v5 = parseInt(v5);
       $('.edit-select-attribute').find('option[value='+v5+']').prop({'selected':true},);
   });
   });
  $('#editInvItemDiv').dialog('open');   
   },
  error: function(data5){},                            
   });

在ui对话窗口中显示元素。问题在于,只有最后4个选择元素被迭代,第一个选择框没有被修改。

选择元素

罗里·麦克罗森(Rory McCrossan)

假设返回的字符串中的值的索引select与HTML中的索引的索引匹配,则最简单的方法split()将返回的字符串放入数组中,然后提供一个val()从数组中返回相关值的函数根据当前的指数select尝试这个:

// in your AJAX success handler...
var data4 = "12,16,18,22,28";
var responseArr = data4.split(',');
$('select.form-control').val(function(i) {
  return responseArr[i];
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="edit_selected_attributes">
  <div>
    <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_9">
      <option> Select Com Weight</option>
      <option value="12">1</option>
      <option value="13">2</option>
      <option value="14">3</option>
    </select>
  </div>
  <div>
    <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_11">
      <option> Select Composition</option>
      <option value="15">1</option>
      <option value="16">2</option>
      <option value="17">3</option>
    </select>
  </div>
  <div>
    <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_12">
      <option> Select Composition</option>
      <option value="18">1</option>
      <option value="19">2</option>
      <option value="20">3</option>
    </select>
  </div>
  <div>
    <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_16">
      <option> Select Composition</option>
      <option value="22">1</option>
      <option value="23">2</option>
      <option value="24">3</option>
    </select>
  </div>
  <div>
    <select class="form-control edit-select-attribute" id="edit_inv_attribute_id_17">
      <option> Select Composition</option>
      <option value="26">1</option>
      <option value="27">2</option>
      <option value="28">3</option>
    </select>
  </div>
</div>

另请注意,您应该删除async: false这是非常糟糕的做法,而且您也不需要

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过使第一个插入位置保持不变来对列表中插入的其余元素进行排序?

来自分类Dev

如何通过XPath选择第一个元素?

来自分类Dev

jQuery,如何通过属性的第一个位置值选择元素

来自分类Dev

计算列表中连续元素之间的差异时,如何保持列表中的第一个元素不变?

来自分类Dev

如何通过XPath选择第一个和最后一个元素?

来自分类Dev

jquery:selected如果未选择任何元素,则始终选择第一个元素

来自分类Dev

如果选择第一个元素,则选择其他元素 jquery

来自分类Dev

当一个元素没有通过CSS的类时,如何从选择中选择第一个元素?

来自分类Dev

通过第一个子元素的名称选择HTML元素

来自分类Dev

选择每组迭代的第一个条件

来自分类Dev

用下一个迭代中的第一个重复的最后一个元素进行迭代

来自分类Dev

如何按linq查询对组中的元素进行排序,然后选择第一个?

来自分类Dev

如何通过使用子元素的ID选择父对象的第一个孩子?

来自分类Dev

在 XSLT 中选择第一个第一个子元素

来自分类Dev

MongoDB聚合:通过_id进行$ lookup,然后获取第一个元素的值

来自分类常见问题

选择嵌套列表的第一个元素

来自分类Dev

选择第一个孩子以外的奇数元素

来自分类Dev

选择第一个在前的LI元素

来自分类Dev

Xpath仅选择元素的第一个实例

来自分类Dev

如何在jQuery中的元素之后选择第一个特定的类

来自分类Dev

如何使用jQuery选择每个组中的第一个元素?

来自分类Dev

如何使用jQuery选择某个元素类型的第一个兄弟姐妹?

来自分类Dev

无法在jQuery mobile中选择组合框的第一个元素

来自分类Dev

使用jQuery在Select元素中选择第一个选项

来自分类Dev

如何使用jQuery选择每个组中的第一个元素?

来自分类Dev

无法在jQuery mobile中选择组合框的第一个元素

来自分类Dev

选择第一个选项时使用jQuery,然后隐藏其他元素

来自分类Dev

Jquery 只选择带有类的第一个元素而不是全部

来自分类Dev

在列表的第一个元素上进行Foreach

Related 相关文章

  1. 1

    如何通过使第一个插入位置保持不变来对列表中插入的其余元素进行排序?

  2. 2

    如何通过XPath选择第一个元素?

  3. 3

    jQuery,如何通过属性的第一个位置值选择元素

  4. 4

    计算列表中连续元素之间的差异时,如何保持列表中的第一个元素不变?

  5. 5

    如何通过XPath选择第一个和最后一个元素?

  6. 6

    jquery:selected如果未选择任何元素,则始终选择第一个元素

  7. 7

    如果选择第一个元素,则选择其他元素 jquery

  8. 8

    当一个元素没有通过CSS的类时,如何从选择中选择第一个元素?

  9. 9

    通过第一个子元素的名称选择HTML元素

  10. 10

    选择每组迭代的第一个条件

  11. 11

    用下一个迭代中的第一个重复的最后一个元素进行迭代

  12. 12

    如何按linq查询对组中的元素进行排序,然后选择第一个?

  13. 13

    如何通过使用子元素的ID选择父对象的第一个孩子?

  14. 14

    在 XSLT 中选择第一个第一个子元素

  15. 15

    MongoDB聚合:通过_id进行$ lookup,然后获取第一个元素的值

  16. 16

    选择嵌套列表的第一个元素

  17. 17

    选择第一个孩子以外的奇数元素

  18. 18

    选择第一个在前的LI元素

  19. 19

    Xpath仅选择元素的第一个实例

  20. 20

    如何在jQuery中的元素之后选择第一个特定的类

  21. 21

    如何使用jQuery选择每个组中的第一个元素?

  22. 22

    如何使用jQuery选择某个元素类型的第一个兄弟姐妹?

  23. 23

    无法在jQuery mobile中选择组合框的第一个元素

  24. 24

    使用jQuery在Select元素中选择第一个选项

  25. 25

    如何使用jQuery选择每个组中的第一个元素?

  26. 26

    无法在jQuery mobile中选择组合框的第一个元素

  27. 27

    选择第一个选项时使用jQuery,然后隐藏其他元素

  28. 28

    Jquery 只选择带有类的第一个元素而不是全部

  29. 29

    在列表的第一个元素上进行Foreach

热门标签

归档