Ich versuche, alle Kontrollkästchen mit jQuery zu aktivieren / deaktivieren. Durch Aktivieren / Deaktivieren des übergeordneten Kontrollkästchens werden nun alle untergeordneten Kontrollkästchen aktiviert / deaktiviert, und der Text des übergeordneten Kontrollkästchens wird in "Aktivieren / Deaktivieren" geändert.
Jetzt möchte ich das übergeordnete Kontrollkästchen durch eine Eingabeschaltfläche ersetzen und den Text auch auf der Schaltfläche in checkall / uncheckall ändern. Gibt es den Code, kann jemand bitte 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