Ich habe eine HTML-Seite mit mehreren Kontrollkästchen.
Ich brauche noch ein Kontrollkästchen mit dem Namen "Alle auswählen". Wenn ich dieses Kontrollkästchen aktiviere, müssen alle Kontrollkästchen auf der HTML-Seite aktiviert sein. Wie kann ich das machen?
javascript
html
checkbox
selectall
user48094
quelle
quelle
CTRL+SHIFT+K
, um die Konsole zu öffnen, und fügen Sie dann ein :$("input:checkbox").attr('checked', true)
und drücken SieEnter
. Alle Kontrollkästchen auf der aktuellen Seite sollten jetzt aktiviert sein. Zum Deaktivieren der ÄnderungTrue
vonFalse
.Antworten:
AKTUALISIEREN:
Das
for each...in
Konstrukt scheint zumindest in diesem Fall in Safari 5 oder Chrome 5 nicht zu funktionieren. Dieser Code sollte in allen Browsern funktionieren:quelle
for(var i in checkboxes) checkboxes[i].checked = source.checked
In allen Browsern.for in
mit einer Sammlung oder einem Array verwenden, n=checkboxes.length;i<n
statt nuri < checkboxes.length
? Um die Funktion generisch zu machen (Wiederverwendung von Code), übergeben Sie einen zusätzlichen Parameter:(source, checkboxes_name)
und tundocument.getElementsByName(checkboxes_name);
Es ist besser, als den Namen fest zu codieren und die Funktion für einen bestimmten Satz von Kontrollkästchen spezifisch zu machen.for(let checkbox of checkboxes)
.Verwenden von jQuery :
HTML:
quelle
Ich bin mir nicht sicher, ob jemand auf diese Weise nicht geantwortet hat (mit jQuery ):
Es ist sauber, hat keine Schleifen oder if / else-Klauseln und wirkt wie ein Zauber.
quelle
Um die Auswahl aufzuheben:
quelle
this.checked
stattdessenIch bin überrascht, dass niemand etwas erwähnt hat
document.querySelectorAll()
. Reine JavaScript-Lösung, funktioniert in IE9 +.quelle
Demo http://jsfiddle.net/H37cb/
quelle
attr()
Methode, die ich denke. änderte es zuprop()
Leicht geänderte Version, die respektvoll überprüft und deaktiviert
quelle
Wenn Sie anrufen
document.getElementsByName("name")
, erhalten Sie eineObject
. Verwenden Sie.item(index)
diese Option, um alle Elemente von a zu durchlaufenObject
HTML:
quelle
quelle
Meine einfache Lösung ermöglicht es, alle Kontrollkästchen in einem bestimmten Teil des Formulars selektiv zu aktivieren / deaktivieren , wobei für jedes Kontrollkästchen unterschiedliche Namen verwendet werden, damit sie nach dem POST des Formulars leicht erkannt werden können.
Javascript:
HTML-Beispiel:
Ich hoffe du magst es!
quelle
Probieren Sie diese einfache JQuery aus:
quelle
$(':checkbox').prop('checked', this.checked)
, ohne dass die Bedingung erforderlich ist.JavaScript ist die beste Wahl. Der folgende Link gibt ein Beispiel mit Schaltflächen zum Deaktivieren / Auswählen aller. Sie können versuchen, es so anzupassen, dass es ein Kontrollkästchen verwendet. Verwenden Sie einfach das onClick-Attribut "Alle auswählen".
Javascript-Funktion zum Aktivieren oder Deaktivieren aller Kontrollkästchen
Diese Seite hat ein einfacheres Beispiel
http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
quelle
Dieses Beispiel funktioniert mit nativem JavaScript, bei dem der Name der Kontrollkästchenvariablen variiert, dh nicht alle "foo".
quelle
getcheckboxes
Funktion könnte ersetzt werden durchdocument.querySelectorAll('input[type=checkbox]');
quelle
das sollte die Arbeit erledigen:
quelle
quelle
Verwenden von jQuery und Knockout:
Wenn dieses verbindliche Haupt-Kontrollkästchen mit den zugrunde liegenden Kontrollkästchen synchron bleibt, wird es deaktiviert, sofern nicht alle Kontrollkästchen aktiviert sind.
in html:
quelle
Möglicherweise haben Sie verschiedene Kontrollkästchen im selben Formular . Hier ist eine Lösung, mit der Kontrollkästchen nach Klassennamen mithilfe der Vanille-Javascript-Funktion document.getElementsByClassName aktiviert / deaktiviert werden
Die Schaltfläche Alle auswählen
Einige der zu aktivierenden Kontrollkästchen
Das Javascript
quelle
Dies ist beispielsweise der Fall, wenn Sie 5 Kontrollkästchen haben und auf Alle aktivieren klicken. Wenn Sie jetzt alle Kontrollkästchen deaktivieren, wahrscheinlich durch Klicken auf jeweils 5 Kontrollkästchen, aktivieren Sie das Kontrollkästchen, wenn Sie das letzte Kontrollkästchen deaktivieren Alle Kontrollkästchen werden ebenfalls deaktiviert
quelle
Da ich dies nicht kommentieren kann, hier als Antwort: Ich würde die Lösung von Can Berk Güder allgemeiner schreiben, damit Sie die Funktion für andere Kontrollkästchen wiederverwenden können
quelle
Wenn Sie die oberste Antwort für jquery übernehmen, denken Sie daran, dass das an die Klickfunktion übergebene Objekt ein EventHandler ist und nicht das ursprüngliche Kontrollkästchenobjekt. Daher sollte der Code wie folgt geändert werden.
Html
Javascript
quelle
Hier ist eine Implementierung von backbone.js:
quelle
html
Javascript
quelle
1: Fügen Sie den onchange- Ereignishandler hinzu
2: Ändern Sie den Code, um aktiviert / deaktiviert zu behandeln
quelle
Die folgenden Methoden sind sehr einfach zu verstehen und Sie können vorhandene Formulare in wenigen Minuten implementieren
in HTML-Form unter Schaltflächen setzen
in HTML-Form unter Schaltflächen setzen
quelle
Sie können diesen einfachen Code verwenden
quelle
um es in einer Kurzversion mit jQuery zu machen
Das Kontrollkästchen Alle auswählen
Das Kontrollkästchen für Kinder
jQuery
quelle
Vielleicht etwas spät, aber wenn Sie ein Kontrollkästchen für alle aktivieren, sollten Sie meines Erachtens auch das Szenario behandeln, in dem Sie das Kontrollkästchen für alle aktiviert haben und dann eines der folgenden Kontrollkästchen deaktivieren.
In diesem Fall sollte das Kontrollkästchen Alle automatisch deaktivieren.
Wenn Sie alle Kontrollkästchen manuell aktivieren, sollte das Kontrollkästchen "Alle aktivieren" automatisch aktiviert werden.
Sie benötigen zwei Ereignishandler, einen für das Kontrollkästchen Alle und einen für das Klicken auf eines der folgenden Kästchen.
quelle
Einfach und auf den Punkt:
jQuery - Beim Klicken auf eine Schaltfläche oder ein div oder ein Beschriftungselement. Aktivieren Sie alle Kontrollkästchen auf der Seite. Denken Sie daran, dass Sie Folgendes anpassen müssen: Kontrollkästchen, um es genauer zu machen.
quelle