2

当“全选”复选框被选中时,我正在尝试检查所有复选框

我已经尝试了一些代码来让它工作,但仍然不适合我。

当我单击主复选框时,没有任何反应。

这是我到目前为止所做的

<script>

$(document).ready(function() {
    if(   $('#selectall').is(':checked')  ){

        $.each($('input[name=activitie]'){
            $('input[type=checkbox]').prop('checked', true)
        }

    }
});

</script>
4

3 回答 3

0

无耻的自我推销:有一个 jQuery 插件。在您的情况下,我认为这可以解决问题:

$(function () {
    $('#selectall').checkAll('input[type="checkbox"]');
});

但是,如果没有看到一些标记,我不能肯定地说......

于 2013-04-09T00:44:52.390 回答
0

您需要一些东西来检测 id 为“selectall”的复选框的状态何时更改,然后确定是否正在检查它。我已经更新了您的代码并修复了您的一些其他错误:

$(document).ready(function () {
    $("#selectall").click(function () {
        if ($("#selectall").is(":checked")) {
            $.each($('input[name=activitie]'), function () {
                $('input[type=checkbox]').prop('checked', true);
            });
        }
    });
});

此外,如果您希望它们在未选中“selectall”时全部取消选中,则只需将复选框设置为未选中或 false 即可添加具有相同内容的 else$.each子句.prop。使用某种插件可能有一种更简单的方法,但我怀疑这应该会有所帮助。

我整理了一个jsFiddle应该有助于演示。

于 2013-04-09T01:00:49.503 回答
0
$(document).ready(function() {
    $("#selectall").on("change", function(e) {
        e.preventDefault();
        $("input[type=checkbox][name=activitie]").prop("checked", $(this).prop("checked"));
    });
});
于 2013-04-09T01:12:38.187 回答