Yii2: Выпадающий список DropDownList

Yii2: Выпадающий список DropDownListПри создании пользовательских интерфейсов, кроме текстовых полей, часто используются выпадающие списки — Drop-Down List. Этот элемент позволяет ограничить пользователя выбором одного или нескольких вариантов из предложенного списка.

Виджет yii\widgets\ActiveField  уже содержит метод dropDownList( $items, $options = [] ) , являющийся оберткой для yii\helpers\BaseHtml::activeDropDownList( $model, $attribute, $items, $options = [] )  отрисовывающего выпадающий список, используя html тег select .

Простой пример

Первый параметр $items  должен быть массивом, содержащим данные для построения списка. Ключи массива будут использованы как значения элементов списка, а значения массива будут использованы как заголовки элементов списка.

Настройки выпадающего списка

Второй параметр $options  — необязательный массив настроек списка.

prompt

Текстовая строка, отображаемая первым элементом без значения.

options

Массив атрибутов для элементов списка (тега option ). Ключи массива должны совпадать со значениями элементов списка.

encodeSpaces

Булево значение, активирующее кодирование пробелов в значениях элементов списка в  . По-умолчанию имеет значение false.

encode

Булево значение, активирующее кодирование значений элементов списка. По-умолчанию имеет значение true . Кодирование производится посредством метода yii\helpers\BaseHtml::encode() .

Все остальные настройки будут использованы как атрибуты тега списка.

DropDownList с опцией prompt

Yii2: Выпадающий список DropDownListПолученный html код.

Вывод данных из модели (базы данных)

Для формирования массива данных для списка из базы данных можно воспользоваться хелпером ArrayHelper::map().

Групированный список

Массив данных может быть многоуровневым, таким образом, можно создать группированный список.

Yii2: Выпадающий список DropDownList

Множественный выбор

Для включения возможности выбора нескольких элементов, нужно в параметрах указать 'multiple' => 'true' . Правда, при этом элемент select отображается как listbox .

Yii2: Выпадающий список DropDownList: 10 комментариев

  1. field($model, 'parent_id')->dropDownList(ArrayHelper::map(Category::find()->all(), 'id', 'title')) ?>

    список категория, как подставить дополнительный option
    value’0′ =>Родительская категория
    подскажите пожалусто

  2. Как сделать при определенном выборе из выпадающего списка появление второго выпадающего списка (без огородов на js и т.п.)?

  3. Большое спасибо автору за статью. Отличное дополнение к докам! В закладки!

  4. как исходя из выбора определенного option в одном select динамически формировать список option во втором?

    Учитывая, что option-ы в обоих select подтягиваются из БД?

  5. Каким образом можно сгенерировать список, чтобы было несколько опций в select с одним value значением?
    К примеру,
    Занчение 1.1
    Значение 1.2
    Значение 2

  6. В Добавок к предыдущему комментарию (нет возможности поправить)
    \Значение 1.1\
    \Значение 1.2\
    \Значение 2\

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *