요약 : id 선택 태그의 이름을 배열로 전달했습니다. 변경시 선택한 항목의 색인을 표시하도록 각 선택 항목을 동적으로 지정하려고합니다. 이것은 출력 div로 보내집니다. 세 번째 선택 항목 만 동적으로 트리거됩니다. 왜?배열을 동적 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