Я создаю модуль формы. Одним из ранних полей является набор переключателей. По умолчанию выбрана первая кнопка. Затем у меня будет серия выделенных ящиков. Нужно быть видимым, другие невидимы. Затем, когда пользователь выбирает другой переключатель, я хочу отображать или скрывать разные поля выбора. Как я могу скрыть поле и метку по умолчанию и показать его позже, в зависимости от того, какой переключатель (или другой вариант окна выбора, если на то пошло) выбрано?
Drupal: API форм, динамически скрывать или показывать поля на основе ввода
Ответ 1
Вы можете использовать свойство #states
для достижения этого. Свойство #states
может применяться ко всем элементам API формы.
Здесь ссылка с примером.
Надеюсь, это поможет... Мухаммад.
Ответ 2
простой пример использования #states: показать поле выбора с именем "item", только если другое поле с именем "type" имеет значение "sell"
$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'),
),
),
);
Ответ 3
Вы также можете использовать модуль "Условные поля". Вот ссылка: https://drupal.org/project/conditional_fields Он предоставляет вкладку "Управление зависимостями" при создании типа контента, где вы можете выбрать, какие поля должны быть видимыми, когда поле имеет конкретное значение.