1

ここでいくつかの「すべてをチェックする」ソリューションを見てきましたが、逆に機能するソリューションはありません。すべてのオプションが選択されているときにグローバルチェックボックスを選択します。

グループのリストがあります。各グループには 4 つのアイテムがあり、下部に [すべての購読を取り消す] オプションがあります。

これまでのところ、「すべてをチェック」オプションを処理できましたが、すべての購読解除オプションが選択されているときに、グループの「すべてから購読解除」オプションをチェックできることに苦労しています。

これは、私がこれまでに持っているもののデモ(古いもの) です。一番下に私が持っているコードがありますが、もちろんうまくいきません。

他の機能は問題なく動作しますが、これは私が手を加える必要があるものです。

どんな助けでも大歓迎です。

ありがとう。

編集 - 解決策が以下のコメントに埋もれているため、フィドルへのリンクを追加します。スクリプトのj08691に感謝します。

デモ

4

2 に答える 2

1

次のコードチャンクを追加します。

$(".opt-out input:radio").click(function() {
    if($(this).parents('table').find(".opt-out input:checked").length==4)$(this).parents('table').find(".unsubs-chkbx-group").attr('checked','checked');
});

jsFiddleの例

于 2012-08-14T19:24:45.980 に答える
1

以下のようなボタンにchange()イベントが必要です。radio

$('.opt-out input[type=radio]').on('change', function() {
    var table = $(this).closest('table'),
        checkedBoxes = table.find('.opt-out input[type=radio]:checked').length,
        total = table.find('.opt-out input[type=radio]').length;
        table
           .find('input[type=checkbox].unsubs-chkbx-group')
           .attr('checked', checkedBoxes === total);
});

デモ

ノート

:radioセレクターは非推奨であり、jQuery 1.8です。

于 2012-08-14T19:15:44.040 に答える