Ich baue ein Formularmodul. Eines der frühen Felder ist eine Reihe von Optionsfeldern. Standardmäßig ist die erste Schaltfläche ausgewählt. Als nächstes werde ich eine Reihe von Auswahlboxen haben. Man muss sichtbar sein, die anderen unsichtbar. Wenn der Benutzer dann eine andere Optionsschaltfläche auswählt, möchte ich verschiedene Auswahlfelder zum Ein- oder Ausblenden auswählen. Wie kann ich das Feld und die Beschriftung standardmäßig ausblenden und später anzeigen, je nachdem, welcher Radiobutton (oder eine andere Auswahlbox) gewählt wurde?drupal: Form-API, Felder dynamisch ein- oder ausblenden, basierend auf der Eingabe
Antwort
Sie können die #states
-Eigenschaft verwenden, um das zu erreichen. Die #states
-Eigenschaft kann auf alle Form-API-Elemente angewendet werden.
Hier ist die documentation link mit einem Beispiel.
Hoffe das hilft ... Muhammad.
Vielen Dank! Ich schaute durch die API, aber es gibt eine Menge dort, so dass dies leicht verpasst wurde. – LoneWolfPR
Wirklich froh, dass es geholfen hat:) ... -Muhammad. –
Sie können auch das Modul 'Bedingte Felder' verwenden. Hier ist der Link: https://drupal.org/project/conditional_fields Es bietet eine Registerkarte "Abhängigkeiten verwalten" beim Erstellen eines Inhaltstyps, wo Sie auswählen können, welche Felder sichtbar sein sollen, wenn ein Feld einen bestimmten Wert hat.
einfaches Anwendungsbeispiel von #states: Um ein Auswahlfeld mit dem Namen ‚item‘ nur angezeigt, wenn ein anderes Feld mit dem Namen ‚Typ‘ hat den Wert ‚verkaufen‘
$form['item'] = array(
'#title' => t('Task Item'),
'#type' => 'select',
'#states' => array(
// Only show this field when the value of type is sell.
'visible' => array(
':input[name="type"]' => array('value' => 'sell'),
),
),
);
Welcher Haken wird verwendet? –
ich auf meinem Handy bin so kann‘ t finden Links mit Leichtigkeit für Sie. Check Form API Referenc und Sie werden sehen, dass eine #ajax Eigenschaft gesetzt wird. So machen wir es normalerweise. Aber auch rohe JavaScript oder Jquery ist eine Option. –