1

在 chrome 中,没有错误,没有警告,甚至没有信息。它只是行不通。

 $(document).ready(function () {
        var cbxAdmins = $("input[name^=hasAdmin][type=checkbox]");
        for (var i = 0; i < cbxAdmins.Length; i++) {

            cbxAdmins[i].click(function () {
                var checkAll = this.checked;
                var permiCheckboxes = $(this).parents("tr:first").find(':checkbox');

                if (checkAll) {
                    $(permiCheckboxes).attr('checked', true);
                }
                else {
                    $(permiCheckboxes).attr('checked', '');
                }
            });
        }


    });
4

1 回答 1

4

您不需要for遍历数组中的所有元素,jQuery 足够聪明,可以单独应用 click 事件。试试这个:

$(document).ready(function () {
    $("input[name^=hasAdmin][type=checkbox]").click(function () {
        $(this).closest("tr").find('[type=checkbox]').prop('checked', this.checked);
    });
});

感谢 Fabricio Matte,我还稍微整理了一些逻辑。

于 2012-09-05T08:20:44.173 回答