Próbuję zaznaczyć / odznaczyć wszystkie pola wyboru przy użyciu jQuery. Teraz, poprzez zaznaczenie / odznaczenie pola wyboru nadrzędnego, wszystkie podrzędne pola wyboru są zaznaczane / odznaczane, a tekst pola wyboru nadrzędnego zmienia się na zaznaczenie / odznaczenie.
Teraz chcę zastąpić pole wyboru rodzica przyciskiem wprowadzania i zmienić tekst również na przycisku, aby zaznaczyć wszystkie / odznaczyć. Oto kod, czy ktoś może go poprawić?
$( 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