当我单击页面上的任何选择时,该函数告诉我的唯一信息是它正在使用最后一个选择。
假设我的页面上有 6 个选择,我首先分配一个 addEventListener
向他们所有人传递 id 作为参数,然后当更改其中任何一个时,我希望警报显示“确定+我选择的选择”,但我得到的始终是“确定 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);
});
}
最佳答案
试试这个:
document.getElementById(sel.id).addEventListener("change", function () {
resetValues(this.id);
});
当事件发生时,sel.id 将始终为 6。 您需要处理添加监听器的元素。
关于addEventListener 的 javascript 未正确分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26419347/