我有一组5个复选框,类设置为“child”。我希望如果我选择一个复选框,其余部分将被禁用。我尝试过以下代码,但它会禁用所有复选框。
if ( !$(this).is ( ":checked" ) ) {
$(this).removeClass().addClass("hand .parent");
$(".child").attr ( "disabled" , true );
}
然后即使我尝试添加此
$(this).removeAttr ( "disabled" );
但它仍然会禁用所有控件
帮助PLZ!感谢
答案 0 :(得分:1)
你想做这样的事吗?
请在此处查看: http://jsfiddle.net/fEA3Y/
var $cbox = $('.child').change(function() {
if(this.checked) {
$cbox.not(this).attr('disabled','disabled');
} else {
$cbox.removeAttr('disabled');
}
});
如果您因某种原因确实需要切换课程,可以这样做:
var $cbox = $('.child').change(function() {
if(this.checked) {
$(this).toggleClass('child parent');
$cbox.not(this).attr('disabled','disabled');
} else {
$(this).toggleClass('child parent');
$cbox.removeAttr('disabled');
}
});
答案 1 :(得分:0)
你做过
$('.child').removeAttr('disabled')
由于您在.child
上尝试过,因为您没有发布完整代码,所以很难说出this
的上下文。
另外,你在那里没有设置readonly
属性吗?