ActiveField dropDownList选项问题 [ 未指定版本 ]
Yii2.0的。
ActiveField的dropDownList第二个参数options。
官方解释的其中一点:
options: array, the attributes for the select option tags. The array keys must be valid option values, and the array values are the extra attributes for the corresponding option tags.
我的理解是,是一个数组,然后数组的值是option标签的值,就是option标签的value属性的值,数组的值是对应于这个option标签的而外属性。
还给出例子:
[
'value1' => ['disabled' => true], //value2所在的option添加一个disabled属性,值是true,也就是这个option不可用
'value2' => ['label' => 'value 2'],
];
那好根据我的理解,我现在需要select的第二个option是默认选中的,我的第二个option的value就是2,
那我传参:
[
'2' => ['selected' => 'selected']
]
那么就应该没错吧?如果我理解没错的话。
直接报错!Yii没有正确处理!为什么?
是我理解错了吗?
在官方github主页上面提问搞定,下拉列表默认选中不是在option里面决定的,而是$model->category的值决定的。
你只要先把$article['cid']的值赋给当前的$model->category,会自行决定那个默认被选中。
比如$article['cid']的值是2,赋给$model->category之后,会自动的默认选中option标签的value是2的选项。
所以我上面的代码改成:
`
<?php $model->category = $article['cid'] ?>
<?= $form->field($model, 'category')->dropDownList(
ArrayHelper::map($category, 'cid', 'name')
) ?>
结果就对了:
PHP
`
最佳答案
-
在官方github主页上面提问搞定,下拉列表默认选中不是在option里面决定的,而是$model->category的值决定的。
你只要先把$article['cid']的值赋给当前的$model->category,会自行决定那个默认被选中。
比如$article['cid']的值是2,赋给$model->category之后,会自动的默认选中option标签的value是2的选项。
所以我上面的代码改成:
`
<?php $model->category = $article['cid'] ?>
<?= $form->field($model, 'category')->dropDownList(ArrayHelper::map($category, 'cid', 'name')
) ?>
结果就对了:
PHP
`xiao_yu 觉得很赞
其他 0 个回答
dyllen
最后登录:2020-10-16
在线时长:48小时47分
- 粉丝8
- 金钱400
- 威望80
- 积分1680