我有这个功能:
function disableDiv(divId, action){
var divId = byId(divId);
if(action==true){
divId.style.display='none';
}
else if(action==false){
divId.style.display='block';
}
var inputs = divId.getElementsByTagName("input");
var selects = divId.getElementsByTagName("select");
var i;
for (i=0; i<inputs.length; i++){
inputs[i].disabled=action;
}
for (i=0; i<selects.length; i++){
selects[i].disabled=action;
}
}
Run Code Online (Sandbox Code Playgroud)
这需要divId(ID为DIV)和动作(false或true)并获取div中的所有输入和选择,并将其disabled属性设置为false或true.
根据Firebug,Div内部的元素一直处于禁用状态.但是一旦点击下拉列表选项,它们应该是活动的...触发很好所以你知道.我可以通过使用警告框看到这个函数被调用,它确实设置了disabled = false.但元素仍然被禁用.
需要指出的是,根据firebug,disabled属性如下所示:
<input name="test" id="test" disabled="">
Run Code Online (Sandbox Code Playgroud)
请注意,只有两个双引号...不应该说"disabled ='disabled'"或"disabled = true"?
有关如何进一步排除故障的任何提示?
以下是我如何调用该函数:
(category=="Cars")?disableDiv("nav_sub_cars", false):disableDiv("nav_sub_cars", true);
Run Code Online (Sandbox Code Playgroud)
如果您需要更多输入,请告诉我......
谢谢