Ich benutze eine kleine jQuery-Bibliothek jQuery-Sichtbar Ein jQuery-Plugin entwickelt, um einfach Bedingte Elemente basierend auf Werten anderer Formelemente anzuzeigen.Bedingtes Feld jQuery-Bibliothek funktioniert nicht mit Kontrollkästchen
Projektseite und Dokumentation: http://www.danielrivers.com/visibly
Projekt GitHub Seite: https://github.com/DanielRivers/jQuery-Visibly/blob/master/js/jquery-visibly.js
Einige der wichtigsten Funktionen, die es vor einigen anderen Bibliotheken setzen:
- Mehrere Felder und Werte wie eingestellt werden können eine Regel zum Aufdecken eines versteckten Feldes statt nur eines einzelnen Felds zur Feldregel, wie es andere Bibliotheken tun. Beispiel; Um Feld 3 anzuzeigen, kann ich verlangen, dass sowohl Feld 1 als auch Feld 2 einen bestimmten Wert in beiden gleichzeitig haben, damit das Feld 3 sichtbar wird.
- RegEx übereinstimmend - erfordert einen Texteingabe-Textwert, der dem Regex-Muster entspricht, damit ein bedingtes Feld, das darauf angewiesen ist, angezeigt wird.
Unten ist meine Demo, wo ich Checkbox zu verwenden versuchen eine versteckte DIV zu offenbaren.
In DIV ID #test
Ich habe eine bedingte Regel-Set mit visibly="foo:checked;foo3:checked"
Das bedeutet Feld #foo
und #foo3
sowohl um #test
offenbaren sollte geprüft werden jedoch es nicht funktioniert. Es ist möglich, dass die Bibliothek nur Auswahl- und Eingabefelder unterstützt und keine Checkbox-Felder, sondern den Bibliothekscode (125 Zeilen) https://github.com/DanielRivers/jQuery-Visibly/blob/master/js/jquery-visibly.js auf Zeile 60 sah ich :checked
, was mich glauben ließ, dass es unterstützt wird, aber ich bin mir nicht 100% sicher?
Könnte jemand sich das ansehen, um zu sehen, ob Checkboxen mit dem funktionieren sollten, was ich mache?
DEMO:https://jsfiddle.net/955us4ge/
HTML
<label for="foo">
<input id="foo" name="foo" type="checkbox"> Foo
</label>
<label for="foo2">
<input id="foo2" name="foo2" type="checkbox"> Foo2
</label>
<label for="foo3">
<input id="foo3" name="foo3" type="checkbox"> Foo3
</label>
<div id="test" class="conditional" visibly="foo:checked;foo3:checked">
this should be hidden until checkbox #foo and #foo3 are both checked
</div>
JS
$(document).ready(function() {
$('#test').Visibly();
});