【问题标题】:Yii 2.0 Change selected option on dropdownlist?Yii 2.0 更改下拉列表中的选定选项?
【发布时间】:2015-03-25 09:44:56
【问题描述】:

我基本上试图在 yii 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();

好的,现在在我的控制器中,我捕获了发布值,因此知道它发布正确。所以假设我有一个变量 $option 等于下拉列表中的帖子值。

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

我发现的一切都与 yii 1 而不是 2.0 有关。

谢谢

【问题讨论】:

  • 您是否随时将帖子值设置为$searchModel-&gt;category 属性?尝试echo在字段上方进行检查。我不知道 Yii 2,但如果 category 是一个“不安全”属性,它就不能在 Yii 1 中大量分配。

标签: php model-view-controller yii yii2


【解决方案1】:

要在控制器中设置下拉列表的值,您可以使用:

$searchModel->category = '1';

在视图中设置下拉菜单的值:

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

【讨论】:

  • 如果您在投反对票时还指定了这样做的原因,我将不胜感激,这将有助于给出正确的答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 2022-08-12
  • 1970-01-01
相关资源
最近更新 更多