dropDownList 命名给默认值了,视图上也显示 selected,但是选项框没有选中状态 [ 2.0 版本 ]
上代码:
$model->status =1 ; //给默认值
echo $form->field($model, 'status')->dropDownList(\common\components\G_ARRAY::$arrNormalState)
视图显示:
如图所示,html代码上显示,value是1的选项被selected,但是视图上却把value值为2的选项放到了第一位。百思不得其解,默认值是赋值成功了,但是视图没显示出来。请高手指教,为何会出现这种情况。
PS:dropDownList里面的参数是个数组:
public static $arrNormalState = [
1 => "Enabled",2 => "Disabled"
];
求大神帮忙解答一下,我这个赋值的方式应该是没错的才对吧
不知道为什么图片显示不出来。。。
html代码:
<select >
<option value="1" selected>Enabled</option>
<option value="2">Disabled</option>
</select>
value值为1选项有selected特性,但是我的下拉框默认是Disable是第一位的。相当于赋值的默认值没用
![_@C6QGLU5)84[[V%BFPRN2Q.png](/uploads/images/201903/11182412747.png "_@C6QGLU5)84[[V%BFPRN2Q.png")
![_@C6QGLU5)84[[V%BFPRN2Q.png](/uploads/images/201903/12091442617.png "_@C6QGLU5)84[[V%BFPRN2Q.png")
`
public static function listBox($name, $selection = null, $items = [], $options = [])
参数及使用:
1
$name:
设置select的name字符串,这个用来设置生成的select标签的name值
2
$selection:
设置select中哪位为选中字符串或者数组,这个用来设置哪个option为选中状态,因为select只能有一个option为选中。所以如果为数组的话后面匹配的值会覆盖前面匹配的值。
`
目前怀疑是要用到这个
$selection
属性吗,我用model赋值,和用options方式赋值都失败了
1、$model->status =2;
2、4'=>['selected'=>'selected']]
最后补充:
功能已经完成了,是$model初始值的问题,当$model初始值没问题的时候,下拉框是正常的,可以区分enabled和disabled。但是我这个问题还是不大懂,为什么我重新给它赋值就没用呢?就算初始的$model为空,那我下面的赋值也成功了,为什么就是不能正常显示,百思不得其解
最佳答案
其他 3 个回答
ljfphp
最后登录:2019-04-02
在线时长:1小时16分
- 粉丝0
- 金钱55
- 威望10
- 积分165