drupal: API формы, динамически скрывать или показывать поля на основе ввода

Я строю модуль формы. Одним из ранних полей является набор переключателей. По умолчанию выбрана первая кнопка. Далее у меня будет серия блоков выбора. Одни должны быть видны, другие невидимы. Затем, когда пользователь выбирает другую кнопку-переключатель, я хочу, чтобы различные поля выбора отображались или скрывались. Как я могу скрыть поле и метку по умолчанию и показать его позже в зависимости от того, какой переключатель (или другой параметр выбора в этом случае выбран)?

3 ответа

Решение

Вы можете использовать #states свойство для достижения этого. #states свойство может быть применено ко всем элементам API формы.

Вот ссылка на документацию с примером.

Надеюсь, это поможет... Мухаммед.

Простой пример использования #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'),
            ),
        ),
    );

Вы также можете использовать модуль "Условные поля". Вот ссылка: https://drupal.org/project/conditional_fields Она предоставляет вкладку "Управление зависимостями" при создании типа контента, где вы можете выбрать, какие поля будут отображаться, когда поле имеет определенное значение.

Другие вопросы по тегам