Mam listę pól wyboru:
<input type="checkbox" name="answer" id="id_1' value="1" />
<input type="checkbox" name="answer" id="id_2' value="2" />
...
<input type="checkbox" name="answer" id="id_n' value="n" />
Mogę zebrać wszystkie wartości zaznaczonych pól wyboru; moje pytanie brzmi: jak uzyskać wszystkie wartości niezaznaczonych pól wyboru? Próbowałem:
$("input:unchecked").val();
aby uzyskać wartość niezaznaczonego pola wyboru, ale dostałem:
Błąd składni, nierozpoznane wyrażenie: niezaznaczone.
czy ktoś może rzucić światło na ten problem? Dziękuję Ci!
Odpowiedzi:
Jak informuje komunikat o błędzie, jQuery nie zawiera
:unchecked
selektora.Zamiast tego musisz odwrócić
:checked
selektor:źródło
$("input:checkbox:not(:checked)")
Otrzymasz odznaczone pola.źródło
Możesz to zrobić, rozszerzając funkcjonalność jQuerys. Skróci to ilość tekstu, który musisz napisać dla selektora.
Następnie można użyć,
$("input:unchecked")
aby uzyskać wszystkie zaznaczone pola wyboru i przyciski opcji.źródło
Można to również osiągnąć za pomocą czystego js w następujący sposób:
źródło
Spowoduje to pobranie wszystkich niezaznaczonych pól wyboru i wykluczenie pola wyboru „chkAll”, którego używam do zaznaczenia | odznacz wszystkie pola wyboru. Ponieważ chcę wiedzieć, jaką wartość przekazuję do bazy danych, ustawiłem je na off, ponieważ pola wyboru dają mi wartość on.
źródło
chkAll
pudełka, więc po co o tym wspominać.Możesz użyć w ten sposób:
źródło
Aby wybrać
class
, możesz to zrobić:źródło
źródło