如何从与数组共享同名的许多选择中更改了哪个下拉订单



我有许多下拉列表(如数十个)在表格中排列在具有相同名称和方括号(对象[])的表中,以便我在张贴时可以将其值作为数组。

<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是否可以唯一地从这组下拉列表中识别哪个下拉订单的值已更改?即获得下拉级的索引。

用例正确位置的文本字段。

谢谢。

无需获取元素的索引,我们可以使用.on()函数注意更改,我们将其连接到所有select元素,然后我们使用.val()和将相同的设置为相邻的input,我们使用.next函数找到。

//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>

最新更新