Yii2 dropdownList выберите параметр по умолчанию
Я возвращаю значение cat_id по GET in url, чтобы сказать, что мой выпадающий список, который должен быть выбран. Но это не работает.
<?= $form->field($model, 'cat_id')->dropDownList(
ArrayHelper::map(DeviceCats::find()
->where(['is_deleted' => 'no'])->all(),'id','title')
,['options' => [$_GET['cat_id'] => ['selected'=>true]]
, 'prompt' => ' -- Select Category --']) ?>
3 ответов
наконец решен с невероятным изменением. Просто изменил первую букву выбранного на заглавную ('избранные' должно быть 'избранные'). Вот код:
<?= $form->field($model, 'cat_id')->dropDownList(
ArrayHelper::map(DeviceCats::find()
->where(['is_deleted' => 'no'])->all(),'id','title')
,['options' => [$_GET['cat_id'] => ['Selected'=>'selected']]
, 'prompt' => ' -- Select Category --']) ?>
просто убедитесь, что ваша модель имеет свойство cat_id set. Где-то в вашем контроллере просто сделайте
$model->cat_id = filter_input_array(INPUT_GET, 'cat_id');
или
$modelArray = filter_input_array(INPUT_GET, 'nameofmodel');
$model->cat_id = $modelArray['cat_id'];
Если вы действительно хотите сделать это, как вы сделали, вероятно, вы должны использовать имя модели тоже есть.
<?= $form->field($model, 'cat_id')->dropDownList(ArrayHelper::map(DeviceCats::find()->where(['is_deleted' => 'no'])->all(),'id','title'),['options' => [$_GET['SOMETHIGNHERE']['cat_id'] => ['selected'=>true]], 'prompt' => ' -- Select Category --']) ?>