Laravel&jQuery选中所有复选框

Laravel & jQuery check all check boxes

本文关键字:复选框 jQuery amp Laravel      更新时间:2023-11-09

在我的页面上,我有几个复选框定义如下:

<input id="{{ $question->id }}" class="questionCheckBox" type="checkbox" />

我有两个按钮:

<p><input type="button" class="check" value="Check All" />
   <input type="button" class="uncheck" value="UnCheck All" />
</p> 

我正在尝试使用以下代码选中所有复选框或取消选中它们

$(function () {
    $('.check').on('click', function () {
        $('.questionCheckBox').attr('checked','checked');
    });
});
$(function () {
    $('.uncheck').on('click', function () {
        $('.questionCheckBox').removeAttr('checked');
    });
});

我第一次单击"全部选中"按钮时,它工作,第一次选中"全部取消选中"按钮是未选中的;之后两个按钮都不起作用。有人能看到我的问题吗?

您应该使用prop()而不是attr(),因为jQuery 1.9+的最新版本会出现类似的问题。

$(function () {
    $('.check').on('click', function () {
        $('.questionCheckBox').prop('checked',true);
    });
});
$(function () {
    $('.uncheck').on('click', function () {
        $('.questionCheckBox').prop('checked',false);
    });
});

这很有效:

$(function () {
    $('.check').on('click', function () {
        $('.questionCheckBox').each(function(){ this.checked = true; });
    });
});
$(function () {
    $('.uncheck').on('click', function () {
        $('.questionCheckBox').each(function(){ this.checked = false; });
    });
});

谢谢你的帮助!