如何启用ucheck和禁用复选框

时间:2013-09-24 07:44:59

标签: jquery

我有大量的复选框。例如100; 我需要选择20个不同的复选框。 当我检查20 ChB时,我想禁用检查任何其他框,但是可以取消选中cheked box。 这是真的吗? 我知道所有复选框的ID。我怎么能通过JQuery做到这一点?

    function PageSelected(sender) {
    selectedIds = [];
    var enough = 0;
    $('input[type=checkbox]').each(function () {
       if (avblPagesCount <= selectedIds.length)  {
            $('#'+sender.id).attr("checked", false);
        }

       if (avblPagesCount > selectedIds.length) {
            if(this.checked) {
                selectedIds.push(this.id);                                        
            }
        }
    });       
};

1 个答案:

答案 0 :(得分:1)

以下内容适用于您的情况。

当用户选中3个复选框时,其余复选框将显示disabled,用户将无法选择它们。但是,检查的三个复选框将保持启用状态以进行取消检查。如果用户取消其中一个,则其他人再次启用(因为检查的复选框的数量将小于3)。

$('input[type="checkbox"]').on('change', function () {
    var chcked = $('input:checked').length;
    $('input[type="checkbox"]:not(:checked)').prop('disabled', chcked == 3);
});

Working Demo