我已禁用除一个以外的所有复选框。点击该复选框后,我想启用所有复选框。如果未选中该复选框,则应保持禁用所有其他复选框。有人可以帮我这个。 我试过用
$(document).ready(function() {<br>
if ($('#mainCheckbox').is(':checked')) {<br>
$(".otherCheckbox").removeAttr("disabled");
}
});
但这不适合我。
答案 0 :(得分:5)
这对我来说很好用
<input type="checkbox" id="chkMain" /><br
<input class="child" type="checkbox" id="chk1" disabled="true" />
<input class="child" type="checkbox" id="chk2" disabled="true" />
<input class="child" type="checkbox" id="chk3" disabled="true" />
<input class="child" type="checkbox" id="chk4" disabled="true" />
<input class="child" type="checkbox" id="chk5" disabled="true" />
$(function(){
$("#chkMain").click ( function() {
if ( !$(this).is ( ":checked" ) )
{
$(".child").attr ( "disabled" , true );
}
else
{
$(".child").removeAttr ( "disabled" );
}
});
});
如果您也可以发布HTML,那么它会更有帮助。
答案 1 :(得分:1)
这是有效的:
if($("#mainCheckbox").is(":checked")){
$("input:checkbox").not(this).removeAttr("disabled");
}
else{
$("input:checkbox").not(this).attr("disabled","true");
}
答案 2 :(得分:0)
这是一个解决方案(注意每个功能):
function toogleOthersIf(aBoolean) {
$(".otherCheckBox").each(function() {
if (aBoolean) {
$(this).removeAttr("disabled");
} else {
$(this).attr("disabled", "disabled");
}
});
}
$(document).ready(function(){
$('#mainCheckBox').click(function(e) {
toogleOthersIf($('#mainCheckBox:checked').length > 0);
});
toogleOthersIf(false);
});