我在表中的行中有许多下拉列表(如数十个),它们具有相同的名称和方括号(objects []),以便在发布时可以将它们的值作为数组使用。

<tr 1>
  <select  name="objects[]">
     <option value='Choice 1'>Choice 1</option>
     <option value='Choice 2'>Choice 2</option>

  </select>
</tr>

<tr 2>
  <select  name="objects[]">
     <option value='Choice 1'>Choice 1</option>
     <option value='Choice 2'>Choice 2</option>

  </select>
</tr>

问题当我更改下拉列表的值时,是否可以使用jquery / js唯一标识从该组下拉列表中更改哪个下拉列表的值? 即获取下拉列表的索引。

用例是在同一行中的更改后的下拉列表旁边填充一个文本字段,由于它们都使用[]共享相同的名称,因此我想确定在正确的位置更改了哪个字段以更新文本字段。

谢谢。

===============>>#1 票数:0

无需获取元素的索引,我们可以使用.on()函数监视更改,将其附加到所有select元素,然后使用.val()获取值并将其设置为我们使用.next函数找到相邻input

 //optional code - for initalization $('select').each(function(){ $(this).next( "input" ).val($(this).val()); }); //optional code - for initalization $('select').on("change", function(){ $(this).next( "input" ).val($(this).val()); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <tr 1> <select name="objects[]"> <option value='Choice 1'>Choice 1</option> <option value='Choice 2'>Choice 2</option> </select> <input type="text"/> </tr> <tr 2> <select name="objects[]"> <option value='Choice 1'>Choice 1</option> <option value='Choice 2'>Choice 2</option> </select> <input type="text"/> </tr> 

  ask by Ali Malik translate from so

未解决问题?本站智能推荐: