2015-03-25 102 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

相關問題