使用计数验证jQuery禁用复选框

时间:2014-12-11 05:12:16

标签: jquery

我有几个复选框,我希望一旦受访者检查第三个复选框仍然成为禁用,反之亦然。然而同样不适合我。

http://jsfiddle.net/u6Lbuwwe/1/

以下是HTML代码







以下是jQuery代码

$(document).ready(function(){
        var i=0;
    $("input:checkbox").click(function(){
            $('tr td').each(function{
                if($(this).find('checkbox').is(':checked'))
                    i++;
            });
        });
        if(i==3)
            $("input:checkbox").not(':checked').prop('disabled',true);
        else
            $("input:checkbox").not(':checked').prop('disabled',false);
    });

请在下面找到我的小提琴的链接,并就错误和纠正措施提出建议。

2 个答案:

答案 0 :(得分:3)

我试过你的小提琴。添加jQuery,它应该工作

$(document).ready(function(){
    var i=0;
    var chkBox = $("input[type=checkbox]");
    chkBox.click(function(){
        var i = 0;
        chkBox.each(function(){
            if($(this).is(':checked')) i++;
        });
        if(i==3)
            chkBox.not(':checked').prop('disabled',true);
        else
            chkBox.not(':checked').prop('disabled',false);  
    });

});

答案 1 :(得分:1)

简单明了

工作前。

http://jsfiddle.net/3kakcxzd/2/

var countChecked = function() {
    var n = $('input:checked').length;
    $('input[type=checkbox]:not(:checked)').prop('disabled', (n===3) ? true : false);
};

$('input[type=checkbox]').on('click', countChecked);