我在表单中使用它:
$this->widget('ext.select2.ESelect2',array(
'model'=>$model,
'attribute'=>'Employee',
'data'=>$model->Employee,
'options'=>array(
'width'=>'210','placeholder'=>'All Offices',
),
'htmlOptions' => array(
'multiple' => 'multiple'
),
));
$model->Employee
是一个数组,当我移动更新数据时,我想在数据中选择此数组,例如下拉属性selected="selected"
答案 0 :(得分:2)
Select2很聪明,可以用预定义的值填充自己。但这些必须在model属性中。如果它是多个,$model->Employee
应该是一个数组:
$model->Employee = array(1=>'Allen', 2=>'John'); // or similar
此外,此处的key=>value
应以与Employee模型数据相同的方式进行映射。
然而,'data'参数仍应包含该范围内的所有数据。
所以试试这个,其中Employee
应该是包含所有数据选项的模型:
我在选项中添加了标签,如here(usage 1st example)和here所示。
$tags= array(1=>'Allen', 2=>'John');
$this->widget('ext.select2.ESelect2',array(
'model'=>$model,
'attribute'=>'Employee',
'data'=> Chtml::listData(Employee::model()->findAll(), 'id', 'name'),
'options'=>array(
'width'=>'210','placeholder'=>'All Offices',
'tags'=>$tags,
),
'htmlOptions' => array(
'multiple' => 'multiple'
),
));