摘要:我已将 id 选择标签的名称传递到一个数组中。我想动态分配每个 Select Item 以在更改时显示所选项目的索引。这被发送到输出 div。只有第三个选择项被动态触发。为什么?
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
var NameOfSelect=new Array("a","b","c");
for (i=0;i<NameOfSelect.length;i++){
var sel=NameOfSelect[i];
$("#"+NameOfSelect[i]).change(function () {
var str = "";
$("#"+sel+" option:selected").each(function () {
str += $(this).index() + " "+$("#"+sel).attr("id");
});
$("#output").text(str);
})
.trigger('change');
}
</script>
的HTML
<select id="a" >
<option value="0a" >0a</option>
<option value="1a" >1a</option>
<option value="2a" >2a</option>
</select>
<select id="b" >
<option value="0b" >0b</option>
<option value="1b" >1b</option>
<option value="2b" >2b</option>
</select>
<select id="c" >
<option value="0c" >0c</option>
<option value="1c" >1c</option>
<option value="2c" >2c</option>
</select>
<div id=output></div>
输出显示只有“C”在更改时被触发。为什么“a”和“b”没有被类似地动态分配?