Yii2 dropdownList选择默认选项

时间:2015-06-28 21:01:54

标签: drop-down-menu yii2 yii2-advanced-app

我在url中通过GET返回cat_id值来说出我的下拉列表,必须选择哪个Item。 但它不起作用。

<?= $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 个答案:

答案 0 :(得分:14)

终于以令人难以置信的变化解决了。刚刚将所选的第一个字母更改为大写('已选择'应为'已选择')。 这是代码:

<?= $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 --']) ?>

答案 1 :(得分:10)

&#39;选择&#39;必须用大写字母写成&#39; S&#39;

'options'=>['72'=>['Selected'=>true]]

答案 2 :(得分:0)

确保您的模型设置了cat_id属性。控制器中的某个位置只需执行

$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 --']) ?>