2015-03-25 103 views
0

林基本上试图改变所选择的选项的下拉列表中YII 2.0Yii 2.0更改下拉列表中的选定选项?

例如:

<select> 
    <option value="volvo">Volvo</option> 
    <option value="saab" selected="selected">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

现在,当我改变下拉到它提交表单另一种选择,然而,它然后显示初始选定的值不是新的。

在我看来,我有:

$form = ActiveForm::begin(); 

    echo $form->field($searchModel , 'category')->dropDownList([ 
     '1' => 'category 1', '2' => 'category 2', '3' => 'category 3' 

     ],['onchange'=>'this.form.submit()',]); 

ActiveForm::end(); 

好了,所以现在在我的控制器我捕捉后值,所以知道它是正确发布。所以,让我们说我有一个变量$选项,它等于下拉列表中的帖子值。

如何在页面刷新时将此选项设为新选定的选项?

我发现的一切都是用yii 1而不是2.0做的。

感谢

+0

你的帖子值设置为任何一点都有'$ searchModel-> category'属性?尝试'回声'在场地上方检查。我不知道Yii 2,但如果'category'属于'不安全'属性,它不能在Yii 1中大规模分配。 – Arth 2015-03-25 09:49:40

回答

-2

对于控制器设置下拉列表中的值,可以使用:

$searchModel->category = '1'; 

对于视图中设置下拉列表中的值:

$form->field($model, $key, 
         ['options' => 
          [ 
           'class' => 'col-xs-3' 
          ] 
         ]) 
        ->dropDownList(
         your_array_of_values, 
         ['options' => 
          [ 
           array_key => ['selected ' => true] 
          ] 
         ] 
        ); 
+0

如果给予downvote,你也指定了这样做的理由,给出正确的答案:) – Chinmay 2015-10-20 04:56:19

相关问题