Aktivieren/Deaktivieren Sie Kontrollkästchen, die mit JavaScript (jQuery oder Vanille)?
Wie kann ein checkbox überprüft werden/ungeprüfte Verwendung von JavaScript -, jQuery-oder Vanille?
- mögliche Duplikate von "ändern" checkbox mit javascript
Du musst angemeldet sein, um einen Kommentar abzugeben.
Javascript:
jQuery (1.6+):
jQuery (1.5-):
attr
oderprop
?.checked = true/false
wird nicht ausgelöst, diechange
Veranstaltung :-\Wichtige Verhaltensweisen, die noch nicht erwähnt wurde:
Programmgesteuerten festlegen der überprüft - Attribut, nicht das Feuer der
change
- Ereignis der checkbox.Sehen Sie selbst in diesem fiddle:
http://jsfiddle.net/fjaeger/L9z9t04p/4/
(Fiddle getestet in Chrome, 46, Firefox 41 und IE 11)
Die
click()
MethodeEines Tages finden Sie vielleicht selbst das schreiben von code, die sich auf das Ereignis gefeuert wird. Stellen Sie sicher, dass das Ereignis ausgelöst wird, rufen Sie die
click()
Methode von der checkbox-element, so wie hier:Jedoch, diese schaltet die überprüft den status der checkbox, statt speziell die Einstellung
true
oderfalse
. Denken Sie daran, dass diechange
Ereignis nur ausgelöst, wenn der checked-Attribut tatsächlich ändert.Es gilt auch für die jQuery-Weg: setzen des Attributs mit
prop
oderattr
, nicht das Feuer derchange
Veranstaltung.Einstellung
checked
auf einen bestimmten WertSie testen könnten
checked
Attribut, vor dem Aufruf derclick()
Methode. Beispiel:Lesen Sie mehr über die click-Methode hier:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
elm.dispatchEvent(new Event('change'));
überprüfen:
zu deaktivieren:
Können wir überprüft ein Partikel-checkbox als,
und deaktivieren Sie durch ,
Ich möchte zu beachten,, dass das 'checked' - Attribut eine nicht leere Zeichenkette führt zu einem aktivierten Kontrollkästchen.
Also wenn Sie das 'checked' - Attribut, um "false", wird das Kontrollkästchen aktiviert sein. Ich musste den Wert auf den leeren string, null oder den booleschen Wert false, um sicherzustellen, dass die checkbox nicht aktiviert wurde.
Versuchen Sie Dies:
Wenn, aus irgendeinem Grund, Sie wollen nicht (oder können nicht) ausgeführt eine
.klicken Sie auf()
auf das checkbox-element, können Sie einfach ändern Sie den Wert direkt über dessen .checked-Eigenschaft (ein IDL-Attribut von<input type="checkbox">
).Hinweis, dass dadurch nicht ausgelöst, die normalerweise im Zusammenhang Ereignis ( ändern ), so müssen Sie manuell Feuer-Sie haben eine komplette Lösung, die funktioniert mit allen zugehörigen Ereignisprozeduren.
Hier ist ein funktionales Beispiel im raw-javascript (ES6):
JS:
HTML:
Wenn Sie diese und klicken Sie auf beide der Kontrollkästchen und die Schaltfläche, die Sie sollten ein Gefühl dafür bekommen, wie das funktioniert.
Beachten Sie, dass ich verwendet-Dokument.querySelector für die Kürze/die Einfachheit, aber dies könnte leicht erstellt werden, um entweder eine gegebene ID die an den Konstruktor übergeben werden, oder es könnte für alle Schaltflächen gilt, die als aria-Label für eine checkbox (beachten Sie, dass ich wollte nicht stören-Einstellung eine id auf die Schaltfläche, und geben Sie die checkbox, ein aria-labelledby, was getan werden sollte, wenn mit dieser Methode), oder eine beliebige Anzahl von anderen Möglichkeiten zu erweitern. Die letzten zwei
addEventListener
s sind nur zur demo, wie es funktioniert.Wenn Sie möchten, verwenden Sie das Typoskript, können Sie dies so tun:
(i === 0 ? true : false)
?