2

を使用してチェックボックスの操作に取り組んでいましたjQuery。私はそれを機能させるためにコードの小さなスニペットを書きました。

チェックselectAllボックスをオンにすると、すべてのチェックボックスが選択され、チェックボックスのいずれかをオフにすると、「すべて選択」のチェックボックスがオフになります。そして、動作が切り替わるはずです。

このコードスニペットをチェックしてくださいチェック-チェック解除

どういうわけか私は自分のコードに納得していません。私がもっと良い方法でそれを行うことができるかどうかをお勧めします。TIA。

4

2 に答える 2

2
$(function() {
    var elems = $('input[type="checkbox"]');

    elems.first().on('change', function() {
        $(this).siblings(elems).prop('checked', this.checked);
    }).end().not(':first').on('change', function() {
        elems.first()
             .prop('checked', ((this.checked ? elems.length - 1 : elems.length) == $(elems)
             .filter(':checked').length));
    });
});​

フィドル

于 2012-09-06T13:31:50.903 に答える
0

1)与えるたびにDOMを検索している

$(':checkbox').attr('checked', true);
$(':checkbox :first').click() 

など...代わりに変数に格納して使用します

2)番号を取得します。チェックされたチェックボックスの数(繰り返してカウントを取得する必要はありません)、

$(':checkbox').find(':checked').length
于 2012-09-03T14:33:16.653 に答える