我在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 --']) ?>
答案 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 --']) ?>