-1

CheckBoxListのチェックボックスがクライアント側でチェックされていない(繰り返しチェックされていない)かどうかを識別する必要がありますこれにより、上部の[すべて選択]オプションをJQueryを使用してオン/オフに変更できます。

他の操作(すべてをチェック/オフにし、[すべて選択]チェックをオフにするオプションをオフにする)はすべて正常に機能しますが、[すべて選択]に他のすべてのチェックボックスの状態を反映させると便利です。

var cbs = $('#myCheckBoxList :checkbox')選択された==falseのチェックボックスを見つけるために、すでに何を適用する必要があると仮定しますか?

私が見つけたすべての例は、単一のチェックボックスのチェックされた状態を見つけることに関するものですが、チェックされていないものがあるかどうかを知る必要があります。

などを試しましたが、属性のみによるフィルタリングcbs.find(':[checked="false"]')の良い例を見つけることができませんでした。find()

私が書いていたselect-allトグル動作の完全なコード

(以下のChanduの回答から導き出された最終的な解決策を含む):

    $(window).load(function () {
        var cbs = $('.myCheckBoxList :checkbox');
        cbs.eq(0).click(function () {
            var toggle = this.checked;
            cbs.attr('checked', toggle);
        });
        cbs.slice(1).click(function () {
            if (!this.checked) {
                cbs.eq(0).attr('checked', false);
            } else {
                cbs.eq(0).attr('checked', cbs.slice(1).filter(':not(:checked)').length == 0);
            }
        });
    });
4

2 に答える 2

4

:notセレクターを一緒に使用する必要があります:checked

これを試して:

cbs.find(':not(:checked)')

cbs.filter(':not(:checked)')

また

$('#myCheckBoxList :not(:checked)')
于 2012-07-06T12:35:32.477 に答える
0

これで試してください

$('#myCheckBoxList input:not(:checked)')

詳細については、チェックnotcheckedセレクター

于 2012-07-06T12:35:50.210 に答える