选择jquery中的所有复选框

时间:2013-08-26 12:25:54

标签: jquery

我想通过选中页面上的单个复选框来选择特定名称的所有复选框,然后触发后续事件。

正如我现在所看到的那样,它似乎不会立即触发,因此在第一次检查“全选”复选框时,未选中复选框,然后通过取消选中“全选”复选框,选中所有复选框

似乎有点颠倒。

如何改进以下代码以使其正常工作?

$(document).on("click", "input[name='chkAllBs']", function () {

if ($('input[name = chkBestSeller]').prop('checked') == false) {
    $('input[name=chkBestSeller]').attr("checked", "true");
    $('input[name=chkBestSeller]').trigger('click');
}
else {
    $('input[name=chkBestSeller]').attr("checked", "false");
    $('input[name=chkBestSeller]').trigger('click');
}

3 个答案:

答案 0 :(得分:3)

尝试

$(document).on("click", "input[name='chkAllBs']", function () {
    $('input[name=chkBestSeller]').prop("checked", this.checked);
});

答案 1 :(得分:1)

就像

if ($('input[name = chkBestSeller]').prop('checked') == true) {

    $('input[name=chkBestSeller]').attr("checked", true);
} else {

    $('input[name=chkBestSeller]').attr("checked", false);
}

或者只是

$(document).on("click", "input[name='chkAllBs']", function () {
    $('input[name="chkBestSeller"]').prop("checked", this.checked);
});

答案 2 :(得分:1)

$(document).on("click", "input[name='chkAllBs']", function () {
    var c = this.checked;
    $('input[name = chkBestSeller]').prop('checked',c);
});