0

これは、独自の状態に基づいてチェックボックスのグループをチェックまたはチェック解除するすべてをチェックするチェックボックスがある標準的なシナリオです。

$('.checkall').on('click', function () {
    $(this)
        .closest('#grid')
        .find('#tblId')
        .find(':checkbox')
        .prop('checked', this.checked);
});

子チェックボックスが個別に変更された場合、次のように全チェック チェックボックスの状態を操作します。

$('.child-checkbox').change(function () {
    if ($('.child-checkbox:checked').length == $('.child-checkbox').length) {
        $('.checkall').prop('checked', true);
    }
    else {
        $('.checkall').prop('checked', false);
    }
});

これが期待どおりに機能していることをうれしく思いますが、すべてのチェックボックスと子チェックボックスの関係が 1 つのスニペットで管理されるように、これら 2 つのスニペットを組み合わせることができるかどうかを知りたいです。

4

2 に答える 2

1

このようなものは、それが役立つかどうかを確認します

   $('.checkall,.child-checkbox')on('click', function () {
    if(this==".checkall"){
        $(this)
            .closest('#grid')
            .find('#tblId')
            .find(':checkbox')
            .prop('checked', this.checked);
    }else{
      if ($('.child-checkbox:checked').length == $('.child-checkbox').length) {
            $('.checkall').prop('checked', true);
        }
        else {
            $('.checkall').prop('checked', false);
        }

    }
    });
于 2013-10-07T12:18:04.387 に答える