Javascript 已禁用复选框(Jquery)
目的是,Javascript 已禁用复选框(Jquery),javascript,checkbox,client-side,Javascript,Checkbox,Client Side,目的是, 如果复选框被禁用,则不执行任何操作。 如果复选框已启用并选中,则设置按钮的样式。 这是我到目前为止得到的 $(document).ready(function (e) { $(".checkbox").live("click", function () { if ($(this).hasAttribute('disabled')) { return false; }
如果复选框被禁用,则不执行任何操作。
如果复选框已启用并选中,则设置按钮的样式。
这是我到目前为止得到的
$(document).ready(function (e) {
$(".checkbox").live("click", function () {
if ($(this).hasAttribute('disabled')) {
return false;
}
var isAnyChecked;
$("input[type=checkbox]").each(function () {
var checkedValue = $(this).attr("checked");
if (checkedValue == "checked") {
isAnyChecked = true;
}
});
if (isAnyChecked) {
$("#<%= btnConfirm.ClientID %>").css("display", "block");
} else {
$("#<%= btnConfirm.ClientID %>").css("display", "none");
}
}); });
$(文档).ready(函数(e){
$(“.checkbox”).live(“单击”,函数(){
if($(this).hasAttribute('disabled')){
返回false;
}
var isAnyChecked;
$(“输入[type=checkbox]”)。每个(函数(){
var checkedValue=$(this.attr(“checked”);
如果(checkedValue==“已检查”){
isAnyChecked=true;
}
});
如果(已选中){
$(“#”)css(“显示”、“块”);
}否则{
$(“#”)css(“显示”、“无”);
}
}); });
我尝试了.is(':disabled')
,.hasAttr()
,.prop()
和.attr()
。非常感谢您的帮助。您必须检查disabled
属性是否正确:.attr('disabled')
或者,最好使用.is(':disabled')
---
编辑:因此,
.attr
现在似乎不推荐用于此用途(请参阅)
首选的方式是:
$('#myCheckbox').prop('disabled')
必须注意的是,到今天为止,这仍然有效:
$('#myCheckbox').is(':disabled')
请在此处尝试:您也可以尝试使用:
$("#myCheckBox").is('[disabled]');
我可以确定一个元素是否被禁用,而其他解决方案(
.disabled
,是(“:disabled”)
,.attr('disabled')
,.prop('disabled')
)不是。对于初学者来说,.live
是不推荐的,应该为打开时关闭。
否,您必须检查属性:.prop('disabled')
我也尝试过(“change”,功能和未检查功能被完全禁用。这不起作用。道具起作用,但在加载页面时不起作用。问题是,页面中的网格在加载时selectedindex设置为0。当我在组合框中选择其他内容时,会列出新项目,然后显示按钮。但在加载页面时,道具第一次不起作用。我已经更改了检查后面的代码没有任何错误。我在.attr
上犯了一个错误,但它是固定的。此外,我测试了3种解决方案(.attr
、.is
和.prop
),它们都能工作。