使用Yii ESelect2 Extension在Select2下拉列表中选择多个值

时间:2014-12-19 11:29:32

标签: php yii

我在表单中使用它:

$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"

1 个答案:

答案 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'
   ),
));