在jquery中禁用所有未选中的类复选框

时间:2011-07-18 05:40:09

标签: jquery class checkbox

我想在选中该类中的一个复选框时禁用所有未选中的复选框,所以我尝试了这个

if ((($('input[type=checkbox]:checked.classname)).length)==1) {

    $('.classname').not(':checked').each(function(){
                        $(this).attr('disabled','disabled');
                        });

我也试过这个

    $("input[type=checkbox]."+aclass).not(':checked').attr('disabled',true);

虽然我使用这个选择器获得了正确的长度,但是这段代码并没有禁用任何复选框?

2 个答案:

答案 0 :(得分:10)

试试这个:

$('.test').change(function(){
    if($('input.test').filter(':checked').length == 1)
        $('input.test:not(:checked)').attr('disabled', 'disabled');
    else
        $('input.test').removeAttr('disabled');
});​

JSFiddle

答案 1 :(得分:5)

此主题已经beaten to death。共识是使用具有某种“无”选项的单选按钮。这样,您就可以避免将新功能编码到用户满足某些期望的控件中。