我在一个循环中创建n选择:
selCom = document.createElement("SELECT");
selCom.setAttribute("id", ("commessa"+n));
我想为每个更改分配一个函数:(用于禁用具有相同索引的其他select)
selCom.setAttribute("onchange", "OnSelectionChange(this,n)");
OnSelectionChange(this)有效,OnSelectionChange(this,n)不起作用
function OnSelectionChange(select,indexDisable) {
var selectedOption = select.options[select.selectedIndex];
if ((selectedOption.value)=="Work"){
document.getElementById("Attivita"+indexDisable).disabled=true;
}else{
document.getElementById("Attivita"+indexDisable).disabled=false;
}
}
用于传递参数的正确形式是什么?
答案 0 :(得分:0)
您可以添加事件侦听器,而不是像这样设置html attr。
function OnSelectionChange(indexDisable) {
var select = this;
var selectedOption = select.options[select.selectedIndex];
if ((selectedOption.value)=="Work"){
document.getElementById("Attivita"+indexDisable).disabled=true;
}else{
document.getElementById("Attivita"+indexDisable).disabled=false;
}
}
selCom.addEventListener('change', function(n){
OnSelectionChange(n);
}, false);
答案 1 :(得分:0)