當我點擊我的頁面上的任何選擇時,函數告訴我的唯一情況是它使用最後一個Select。javascript for addEventListener沒有正確分配
假設我在我的頁面上有6個選擇,我首先爲他們分配了一個addEventListener
,它們都將ID作爲參數傳遞,然後當更改其中的任何一個時,我希望警報說「OK + select I choose」,但我得到的總是「OK gubeSelect6」。
爲什麼當我選擇1-5時不顯示正確的東西?我的addEventListener
錯了嗎?
提前許多感謝,
function resetValues(ddl) {
alert("OK " + ddl);
}
var selects = document.getElementsByName('gubeSelect');
var sel;
console.log(selects);
for(var z = 0; z < selects.length; z++){
console.log(z + " " + selects[z].id + " " + selects[z].name);
sel = selects[z];
document.getElementById(sel.id).addEventListener("change", function() {
resetValues(sel.id);
});
}
是的我可以看到它是如何重複的,但是搜索的計算器並沒有給我答案,主要是因爲使用的術語。我從來沒有想過在循環中尋找javascript閉包。不過謝謝,這是一篇非常有用的文章,我將來會回顧它。 – Sean 2014-10-17 07:11:37