Javascript 复选框启用/禁用不在IE中工作

Javascript 复选框启用/禁用不在IE中工作,javascript,asp.net,Javascript,Asp.net,我试图在选中/取消选中另一个复选框“cb1”时启用/禁用复选框“cb1Sub” <table> <tr> <td> <asp:CheckBox ID="cb1" runat="server" onchange="checkedCB1(this);" /> </td> <td> <asp:CheckBox ID="cb1Sub" runat="server" Enabled="false" /&

我试图在选中/取消选中另一个复选框“cb1”时启用/禁用复选框“cb1Sub”

<table>
 <tr>
  <td>
   <asp:CheckBox ID="cb1" runat="server" onchange="checkedCB1(this);" />
  </td>
  <td>
   <asp:CheckBox ID="cb1Sub" runat="server" Enabled="false" />
  </td>
 </tr>
</table>




function checkedCB1(elm) {
        var elmId = $(elm).find("input").attr('id');
        var elmChk = $(elm).find("input").attr('checked');
        var elmSubId = elmId + "Sub";

        if (elmChk == "checked") {
            document.getElementById(elmSubId).disabled = false;
        } else {
            document.getElementById(elmSubId).disabled = true;
        }
    }

功能检查CB1(elm){
var elmId=$(elm.find(“input”).attr(“id”);
var elmChk=$(elm.find(“input”).attr(“checked”);
var elmSubId=elmId+“Sub”;
如果(elmChk==“选中”){
document.getElementById(elmSubId).disabled=false;
}否则{
document.getElementById(elmSubId).disabled=true;
}
}
这适用于firefox,但不适用于IE

我想当我启用复选框时,它的范围仍然被禁用

从firebug,我看到了:

<span disabled="disabled">
<input type="checkbox" name="cb1Sub" id="cb1Sub">
</span>


这不是一个真正的答案,更多的是对一些低效代码的回应

var elmId = $(elm).find("input").attr('id');
效率更高,因为:

var elmId = elm.id;
checked属性是布尔值,它为true或false,因此

 if (elmChk == "checked") {
应该是:

 if (elmChk) {
无论如何,假设您希望在选中cb1时启用cb1Sub,则:

function checkedCB1(elm) {
    document.getElementById(elm.id + "Sub").disabled = !elm.checked;
}

尝试
.prop()
而不是
.attr()
$(elm)。查找(“输入”)
<代码>元素
本身就是
输入
问题不在于“elmChk”。如果我使用attr,elmChk的值将被“检查”。如果我使用道具,elmChk将为真/假。
function checkedCB1(elm) {
    document.getElementById(elm.id + "Sub").disabled = !elm.checked;
}