我正在尝试在页面上使用多个 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 部分不起作用。我尝试单步执行调试器,逻辑工作得很好。如果页面加载时未禁用复选框,则代码可以正常工作。我尝试用“已检查”替换禁用的“属性”,以查看其他属性是否正常工作并且它工作得很好。我试过
$("#" + childID).attr('disabled', '');
但它也不起作用。
注意:它在 FF 和 Chrome 上完美运行,但在 IE 中不起作用。
Thanks,
我遇到了类似的问题,启用<asp:CheckBox />
在 Internet Explorer 中使用 jQuery。以下代码在 FireFox 中运行得非常好。
$('myCheckBox').removeAttr('disabled');
但在IE中却无法正常工作。
An <asp:CheckBox />
被渲染为<span />
与<input />
and a <label />
标签。当该复选框被禁用时,span 和 input 标记都将使用禁用属性进行修饰。为了获得预期的行为,我使用了以下代码:
$('myCheckBox').removeAttr('disabled');
$('myCheckBox').closest('span').removeAttr('disabled');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)