Mam więc kod, który wygląda następująco:
<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">
Po prostu potrzebuję JavaScript, aby uzyskać wartość dowolnego pola wyboru, które jest obecnie zaznaczone.
EDYCJA : Aby dodać, będzie tylko JEDNO zaznaczone pole.
javascript
checkbox
Matthew „obowiązkowy” Bryant
źródło
źródło
Odpowiedzi:
W przypadku nowoczesnych przeglądarek :
Używając
jQuery
:Czysty javascript bez
jQuery
:źródło
document.getElementById("foo").value();
i "zapisywać obliczenia", ponieważgetElementById
jest z pewnością szybszy niżgetElementsByTagName
i pętla..is(":checked")
jest poprawnym sposobem, ponieważ.val()
zwróci wartość atrybutu, jeśli jest zdefiniowana .. i nawet jeśli nie jest zdefiniowana, zwróci „on”, a nie wartość logiczną .. jsfiddle.net/d5f7wnzudocument.querySelector('.messageCheckbox:checked').value
generuje TypeError, jeśli żadne pole wyboru nie jest zaznaczoneŻadne z powyższych nie działało dla mnie, ale po prostu użyj tego:
Miłego kodowania.
źródło
id
? Czy możesz wyjaśnić? Facet, który zadał pytanie,class
faktycznie użył w wejściu. Będzie dobrze, jeśli podasz pełny kod, abym mógł zrozumieć, skąd maszid
Używam tego w moim kodzie. Spróbuj tego
Jeśli pole wyboru jest zaznaczone,
x
będzie prawdziwe, w przeciwnym razie będzie fałszywe.źródło
#checkbox
jest zmienną, npmyCheckbox
.w zwykłym javascript:
źródło
źródło
To nie jest bezpośrednią odpowiedzią na pytanie, ale może pomóc przyszłym odwiedzającym.
Jeśli chcesz, aby zmienna zawsze była bieżącym stanem pola wyboru (zamiast ciągłego sprawdzania jego stanu), możesz zmodyfikować
onchange
zdarzenie, aby ustawić tę zmienną.Można to zrobić w HTML:
lub z JavaScript:
źródło
Użyj tego:
Zakłada się, że pola wyboru mają klasę „messageCheckbox”, w przeciwnym razie musiałbyś sprawdzić, czy wejście jest typu pola wyboru itp.
źródło
źródło
Jeśli używasz Semantic UI React ,
data
jest przekazywany jako drugi parametronChange
zdarzenia.Dlatego możesz uzyskać dostęp do
checked
nieruchomości w następujący sposób:źródło
Żadne z powyższych nie działało dla mnie bez zgłaszania błędów w konsoli, gdy pole nie było zaznaczone, więc zamiast tego zrobiłem coś w ten sposób (onclick i funkcja pola wyboru są używane tylko do celów demonstracyjnych, w moim przypadku jest to część znacznie większa funkcja przesyłania formularzy):
źródło
W moim projekcie zwykle używam tych fragmentów:
I działa dobrze. Pozdrowienia.
źródło