Jak sprawdzić, czy wszystkie pola wyboru z class="abc"
są zaznaczone?
Muszę to sprawdzić za każdym razem, gdy któryś z nich jest zaznaczony lub odznaczony. Czy robię to po kliknięciu czy zmieniam?
Myślę, że najłatwiej jest sprawdzić ten stan:
$('.abc:checked').length == $('.abc').length
Możesz to zrobić za każdym razem, gdy zaznaczone jest nowe pole wyboru:
$(".abc").change(function(){
if ($('.abc:checked').length == $('.abc').length) {
//do something
}
});
length
nie jest funkcją, myślę, że miałeś na myśli ..size()
length
, ale nigdy nie zapominam, że to własność, a nie metoda. Poprawioneźródło
$('input.abc').not(':checked').length === 0
.Możesz użyć
change()
Wszystko to spowoduje sprawdzenie, czy łączna liczba
.abc
pól wyboru jest zgodna z całkowitą liczbą.abc:checked
.Przykład kodu na jsfiddle .
źródło
filter
dobre rozwiązanie dla grupy pól wyboru, wielkie dzięki.źródło
Część 1 Twojego pytania:
EDYTOWAĆ:
Powyższa odpowiedź (http://stackoverflow.com/questions/5541387/check-if-all-checkboxes-are-selected/5541480#5541480) jest prawdopodobnie lepsza.
źródło
Kryteria wyszukiwania są jednym z następujących:
Prawdopodobnie chcesz połączyć się ze zdarzeniem zmiany.
źródło
Alternatywnie możesz również użyć każdego ():
źródło
Rozwiązanie niezależne od klasy
źródło
Oto jak to osiągnąłem w moim kodzie:
źródło