我有这样的列表框
$form->field($model, 'user_type_id[]')->listBox($UserTypesArray , array('multiple' => true));
其中$UserTypesArray
是包含列表项的所有值和名称的数组,如
array('1'=>'john' , '1'=>'Doe' , '3' => 'bar')
我希望在页面加载时预先选择john和doe,因为它们是来自数据库的值。所以我开始编码并最终编写了&找到以下
$data = array('1' => 'John', '2' => 'Doe', '3' => 'foo');
$selected = array(
'1' => array('selected' => 'selected'),
'2' => array('selected' => 'selected'),
);
$htmlOptions = array('size' => '5','multiple' => 'true', 'options' => $selected);
echo $form->field($model, 'user_type_id[]')->listBox($data, $htmlOptions);
当我运行上面的代码时,它没有任何错误,但是没有预先选择列表框的选项。
变量$data
和$htmlOptions
将填充我已完成代码的数据库中的实际值。但是,只要上面的代码不能使用静态值,它就不能使用数据库中的值。
任何人都知道如何在列表框中制作预选值
答案 0 :(得分:0)
首先设置属性, 对于你的案例中的静态值
$model->user_type_id =[1,2];
$form->field($model, 'user_type_id')->listBox($UserTypesArray ,array('multiple' => true));