摘要:我已将ID选择标记的名称传递给数组。我想动态分配每个选择项目,以便在更改时显示所选项目的索引。这被发送到输出格。只有第三个选择项被动态地触发。为什么?使用数组作为动态JQuery字符串变量名称
<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”没有被类似地动态分配?
还有另一个关闭问题 – Musa