复选框无法正常使用jquery的IE

Jun*_*aid 6 asp.net checkbox jquery

我正在尝试在页面上使用几个asp.net复选框,相应地禁用它们.

<asp:CheckBox ID='chkMenuItem' runat='server' CssClass='HiddenText' Text='Test'      onclick='<%#String.Format("checkChild({0});", Eval("id")) %>' />
Run Code Online (Sandbox Code Playgroud)

在JavaScript上,我使用以下代码

function checkChild(id) {
            for (i = 0; i < $("input[id*=hdnParentMenuItemID]").length; i++) {
                if ($('input[id*=hdnParentMenuItemID]')[i].value.split(':')[0] == id) {
                    var childID = $('input[id*=hdnParentMenuItemID]')[i].value.split(':')[1];
                    if ($("#" + childID).attr("disabled"))
                    //$("#" + childID).attr('disabled', '');
                        $("#" + childID).removeAttr("disabled");
                    else
                        $("#" + childID).attr('disabled', true);
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

现在,加载页面后禁用复选框,removeAttr部分不起作用.我试图通过调试器,逻辑工作完全正常.如果在页面加载时未禁用复选框,则代码可以正常工作.我尝试用'checked'替换禁用的'属性',看看其他属性是否正常工作,并且它的工作完全正常.我试过了

 $("#" + childID).attr('disabled', '');
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

注意:它在FF和Chrome上运行完美但在IE中不起作用.

谢谢,

mry*_*ren 13

<asp:CheckBox />在使用jQuery的Internet Explorer中启用了类似的问题.以下代码在FireFox中运行得非常好.

$('myCheckBox').removeAttr('disabled');
Run Code Online (Sandbox Code Playgroud)

但是,它无法在IE中正常工作.

An <asp:CheckBox />呈现为<span />带有<input /><label />标记.禁用该复选框时,span和input标签都将使用disabled属性进行修饰.为了获得预期的行为,我习惯了以下代码:

$('myCheckBox').removeAttr('disabled');
$('myCheckBox').closest('span').removeAttr('disabled');
Run Code Online (Sandbox Code Playgroud)