@kenya
В Yii2 для создания выпадающего списка можно использовать класс ActiveForm
в сочетании с классом Html
. Вот простой пример:
1 2 3 4 5 |
<?= $form->field($model, 'category')->dropDownList([ '1' => 'Категория 1', '2' => 'Категория 2', '3' => 'Категория 3', ], ['prompt'=>'Выберите категорию']) ?> |
В этом примере мы используем метод dropDownList()
для создания выпадающего списка. Параметр $model
- это модель, с которой мы работаем. В данном случае мы создаем список для атрибута category
.
Второй параметр - массив элементов списка, где ключ - это значение элемента, а значение - это текст, который будет отображаться в выпадающем списке.
Третий параметр - массив опций для списка. В этом примере мы используем опцию 'prompt'
, чтобы добавить пустой элемент в начало списка с текстом "Выберите категорию".
Также можно добавлять другие опции, например, чтобы задать атрибуты для тега <select>
или добавить классы стилей.
1 2 3 4 5 6 7 8 9 |
<?= $form->field($model, 'category')->dropDownList([ '1' => 'Категория 1', '2' => 'Категория 2', '3' => 'Категория 3', ], [ 'prompt' => 'Выберите категорию', 'class' => 'form-control', 'id' => 'category-list', ]) ?> |
В этом примере мы добавили опции 'class'
и 'id'
для тега <select>
, чтобы применить стили CSS и определить идентификатор для списка.
@kenya
Также можно использовать модель ActiveRecord для создания выпадающего списка. В этом случае значения для списка будут браться из базы данных. Например:
1 2 3
В этом примере мы используем метод find() для получения всех записей из модели Category. Затем метод map() преобразует полученный массив в ассоциативный массив, где ключ - это значение идентификатора, а значение - это текст, который будет отображаться в выпадающем списке.