Es kristallisiert sich immer mehr heraus das man aufgrund der UX in komplexen Formularen Abhängigkeiten einführt. Ein einfaches (wenn auch durchaus sehr altes) Beispiel ist der Radiobutton „Andere Lieferadresse eingeben“, falls sich diese von der Rechnungsadresse unterscheidet. Bisher habe ich diesbzgl. Aktionen immer manuell programmiert, man könnte nun aber auch dependsOn dafür nehmen.
Eigentlich blende ich inzwischen regelmäßig Teilbereiche von Formularen mit Radiobuttons ein oder aus. Das gleiche gilt aber auch für das Read-Only-Attribut oder das automatische Befüllen für Inputs in Abhängigkeit zu anderen Feldern. Ein recht einfaches Code-Beispiel in dependsOn sähe zum Beispiel wie folgt aus. Das Markup:
Und das zugehörige JavaScript:
$('#basicTest .subject').dependsOn({
'#basicTest input[type="checkbox"]': {
checked: true
}
});
Es lassen sich Abhängigkeiten auf alle Input-Elemente anwenden. So zum Beispiel auch auf Multiselects die Abhängigkeiten je nach Auswahl auslösen können. Das Projekt findet ihr auf GitHub, und es besitzt auch eine eigene Homepage.