@francis_schuster
Для создания выпадающего списка в Yii2 вы можете использовать элемент управления "DropDownList".
Пример кода для создания простого выпадающего списка:
1 2 3 4 5 6 7 8 9 |
<?= $form->field($model, 'attribute')->dropDownList( [ 'value1' => 'Label1', 'value2' => 'Label2', 'value3' => 'Label3', ], ['prompt'=>'Выберите значение'] ) ?> |
В этом примере мы создаем выпадающий список для атрибута модели $model->attribute
. Варианты выбора и их соответствующие метки представлены в массиве первым параметром. Второй параметр является опциональным и позволяет настроить список, включая добавление пустого значения в качестве заголовка.
Вы также можете использовать метод ActiveForm::dropDownList()
без использования формы, если вам не нужны другие элементы управления формой.
1 2 3 4 5 6 |
<?= Html::dropDownList('attribute', null, [ 'value1' => 'Label1', 'value2' => 'Label2', 'value3' => 'Label3', ], ['prompt'=>'Выберите значение']) ?> |
Этот код создает тот же выпадающий список без использования формы.
Если вам нужно создать динамический список, вы можете использовать массив данных, полученный из базы данных или другого источника данных, и передать его вместо жестко закодированных значений в массиве.
@francis_schuster
Например, если у вас есть модель Country, содержащая список стран, вы можете использовать примерно следующий код:
1 2 3 4 5 6 7
use yiihelpersArrayHelper;
...
В приведенном выше примере мы используем метод find()->all() для получения всех записей из таблицы стран, а затем используем метод ArrayHelper::map() для преобразования массива моделей в массив значений и меток для выпадающего списка. Затем мы передаем этот массив в метод dropDownList().