Wie überprüfe ich, ob alle Kontrollkästchen mit aktiviert class="abc"
sind?
Ich muss es jedes Mal überprüfen, wenn einer von ihnen aktiviert oder deaktiviert ist. Mache ich es beim Klicken oder Ändern?
Ich denke, der einfachste Weg ist, nach diesem Zustand zu suchen:
$('.abc:checked').length == $('.abc').length
Sie können dies jedes Mal tun, wenn ein neues Kontrollkästchen aktiviert ist:
$(".abc").change(function(){
if ($('.abc:checked').length == $('.abc').length) {
//do something
}
});
length
ist keine Funktion, ich denke du meintest ..size()
length
, aber ich vergesse immer wieder, dass es eine Eigenschaft und keine Methode ist. Korrigiertquelle
$('input.abc').not(':checked').length === 0
.Sie können verwenden
change()
Dadurch wird lediglich überprüft, ob die Gesamtzahl der
.abc
Kontrollkästchen mit der Gesamtzahl der Kontrollkästchen übereinstimmt.abc:checked
.Codebeispiel auf jsfiddle .
quelle
filter
ist eine gute Lösung für eine Gruppe von Kontrollkästchen, vielen Dank.quelle
Teil 1 Ihrer Frage:
BEARBEITEN:
Die Antwort (http://stackoverflow.com/questions/5541387/check-if-all-checkboxes-are-selected/5541480#5541480) oben ist wahrscheinlich besser.
quelle
Das Suchkriterium ist eines davon:
Sie möchten wahrscheinlich eine Verbindung zum Änderungsereignis herstellen.
quelle
Alternativ hätten Sie auch every () verwenden können:
quelle
Eine klassenunabhängige Lösung
quelle
So habe ich es in meinem Code erreicht:
quelle