jquery check Deaktivieren Sie alle Kontrollkästchen mit einer Schaltfläche

Ich versuche, aktivieren/deaktivieren Sie alle Checkboxen mit jquery. Nun durch aktivieren/deaktivieren der übergeordneten checkbox alle untergeordneten Checkboxen sind immer selektierte/deselektierte auch mit dem text des parent immer verändert, checkall/uncheckall.

Will ich jetzt ersetzen parent mit einem input-Taste, und ändern Sie den text auch auf die Taste checkall/uncheckall. Dieser code kann bitte jemand den code optimieren....

    $( 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

InformationsquelleAutor der Frage Ravi | 2011-03-08

Schreibe einen Kommentar