0

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

正如我目前拥有的那样,它似乎没有立即触发,因此在第一次选中“全选”复选框时,未选中复选框,然后通过取消选中“全选”复选框,所有复选框都被选中。

好像有点颠倒。

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

$(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');
}
4

3 回答 3

3

尝试

$(document).on("click", "input[name='chkAllBs']", function () {
    $('input[name=chkBestSeller]').prop("checked", this.checked);
});
于 2013-08-26T12:28:34.490 回答
1
$(document).on("click", "input[name='chkAllBs']", function () {
    var c = this.checked;
    $('input[name = chkBestSeller]').prop('checked',c);
});
于 2013-08-26T12:28:22.427 回答
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);
});
于 2013-08-26T12:27:06.363 回答