加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用jquery的IE不能正常工作

发布时间:2020-12-16 03:23:28 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在页面上使用几个asp.net复选框,相应地禁用它们. asp:CheckBox ID='chkMenuItem' runat='server' CssClass='HiddenText' Text='Test' onclick='%#String.Format("checkChild({0});",Eval("id")) %' / 在JavaScript上,我使用以下代码 function chec
我正在尝试在页面上使用几个asp.net复选框,相应地禁用它们.

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

在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);
                }
            }
        }

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

$("#" + childID).attr('disabled','');

但它也没有用.

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

谢谢,

解决方法

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

$('myCheckBox').removeAttr('disabled');

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

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

$('myCheckBox').removeAttr('disabled');
$('myCheckBox').closest('span').removeAttr('disabled');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读