In GMail kann der Benutzer auf ein Kontrollkästchen in der E-Mail-Liste klicken, die Umschalttaste gedrückt halten und ein zweites Kontrollkästchen aktivieren. Das JavaScript aktiviert / deaktiviert dann die Kontrollkästchen zwischen den beiden Kontrollkästchen.
Ich bin gespannt, wie das geht? Ist das JQuery oder ein einfaches (oder komplexes) JavaScript?
javascript
gmail
Ascalonian
quelle
quelle
Antworten:
Ich habe eine eigenständige Demo geschrieben, die jquery verwendet:
quelle
.prop('checked'
nicht so sein sollte.attr('checked'
. jsFiddle: jsfiddle.net/dn4jv9a5Dies geschieht durch ziemlich einfaches Javascript.
Sie verfolgen die ID des zuletzt aktivierten Kontrollkästchens. Wenn ein anderes Kontrollkästchen aktiviert ist, verwenden sie das Ereignisattribut shiftKey, um festzustellen , ob beim Klicken auf das Kontrollkästchen die Umschalttaste gedrückt wurde. In diesem Fall setzen sie die markierte Eigenschaft jedes Kontrollkästchens zwischen den beiden auf true.
Um festzustellen, wann ein Kontrollkästchen aktiviert ist, verwenden sie wahrscheinlich ein Ereignis onclick für die Kontrollkästchen
quelle
Kürzlich habe ich ein jQuery-Plugin geschrieben, das diese und weitere Funktionen bietet.
Nachdem Sie das Plugin eingefügt haben, müssen Sie nur den Kontext der Kontrollkästchen mit dem folgenden Codeausschnitt initialisieren:
Hier ist der Link zur Dokumentation, Demo und zum Download: http://rmariuzzo.github.io/checkboxes.js/
quelle
Es scheint, dass jede Antwort, die ich online finden kann, vollständig von jQuery abhängt. JQuery fügt sehr wenig Funktionalität hinzu. Hier ist eine schnelle Version, für die keine Frameworks erforderlich sind:
Und initialisieren Sie es dann, wann immer Sie es brauchen:
quelle
Nun, der Beitrag ist ziemlich alt, aber hier ist eine Lösung, auf die ich gerade gestoßen bin: jQuery Field Plug-In
quelle
Habe diese Lösung von http://abcoder.com/javascript/jquery/simple-check-uncheck-all-jquery-function/ erhalten (jetzt tot) :
JavaScript und HTML-Code
quelle
Inspiriert von den guten Antworten finden Sie hier eine einfache JavaScript-Version, mit
Array.prototype
der Knotenlisten gezwungen werden, Array-Funktionen anstelle vonfor
Schleifen zu verwenden.quelle
Ich habe die jQuery-Version von @BC genommen. und verwandelte es in eine ES6-Version, da der Code das Problem tatsächlich ziemlich elegant löst, falls noch jemand darauf stößt ...
quelle
Ich mochte das Beispiel von gyo wirklich und fügte Code hinzu, damit es auf allen Kontrollkästchen mit demselben Namen funktioniert.
Ich habe auch einen MutationObserver hinzugefügt, damit Ereignisse auch in neu hinzugefügten Kontrollkästchen behandelt werden.
quelle
Hier ist auch eine andere Implementierung ähnlich der Mehrfachauswahl von Outlook.
quelle
Dies ist eine Abfragelösung, die ich geschrieben und verwendet habe:
chksel
chksel_index
Außerdem hat jedes
checkbox
Attribut einen Namenrg
, der denselben Index enthält})
quelle
Es wurde die bessere Lösung für das Aktivieren und Deaktivieren von Kontrollkästchen gefunden.
Verwendet ein Kern-Javascript & Jquery.
quelle
Diese Lösung funktioniert für mich, auch Ajax-basiert für DataTables https://jsfiddle.net/6ouhv7bw/4/
quelle