1. ホーム
  2. jquery

[解決済み] jQueryを使用して、ボタンですべてのチェックボックスをチェック/アンチェックするにはどうすればよいですか?

2022-04-21 03:12:56

質問

jQueryを使ってすべてのチェックボックスのチェック/アンチェックをしようとしています。現在、親チェックボックスをチェック/アンチェックすることによって、すべての子チェックボックスも選択/選択解除され、親チェックボックスのテキストはcheckall/uncheckallに変更されています。

今、私は親のチェックボックスを入力ボタンに置き換え、ボタンのテキストもcheckall/uncheckallに変更したいと思います。ここにコードがありますが、どなたかコードをいじっていただけませんか?

    $( function() {
        $( '.checkAll' ).live( 'change', function() {
            $( '.cb-element' ).attr( 'checked', $( this ).is( ':checked' ) ? 'checked' : '' );
            $( this ).next().text( $( this ).is( ':checked' ) ? 'Uncheck All' : 'Check All' );
        });
        $( '.cb-element' ).live( 'change', function() {
            $( '.cb-element' ).length == $( '.cb-element:checked' ).length ? $( '.checkAll' ).attr( 'checked', 'checked' ).next().text( 'Uncheck All' ) : $( '.checkAll' ).attr( 'checked', '' ).next().text( 'Check All' );

        });
    });


   <input type="checkbox" class="checkAll" /> <b>Check All</b>

   <input type="checkbox" class="cb-element" /> Checkbox  1
   <input type="checkbox" class="cb-element" /> Checkbox  2
   <input type="checkbox" class="cb-element" /> Checkbox  3

解決方法は?

これを試してみてください。

$(document).ready(function(){
    $('.check:button').toggle(function(){
        $('input:checkbox').attr('checked','checked');
        $(this).val('uncheck all');
    },function(){
        $('input:checkbox').removeAttr('checked');
        $(this).val('check all');        
    })
})

DEMO