1

有没有办法在顶部显示所有多个选定的值。
例如。如果列表包含 1 到 10,并且选定的值为 4,8,则列表框应具有类似 4,8,1,2,3,5,6,7,9,10 的值

4

1 回答 1

1

这是列出选择数据的两种常用方法。

echo CHtml::dropDownList('public', $model, array('0' => 'Private', '1' => 'Public'));

echo CHtml::activeDropDownList($model, 'developers_id', CHtml::listData(Developers::model()->findAll(), 'id', 'email') , array('prompt'=>'Select'));

第一个使用数组,您可以根据用户偏好定义、重新定位数组键。

其次,可能会在 findAll() 调用中引入一个 Criteria,它将首先对用户选择的值进行排序,它会完成这项工作。

更新

你可以这样做:

echo CHtml::listBox('listname',$selectedlist,array_intersect_key($alllist,array_flip($selectedlist))+$alllist,array('multiple' => 'multiple'));

在示例中:

$selectedlist=array(3,5);
$alllist=array(1=>'one',2=>'two',3=>'three',4=>'four',5=>'five');

$a=array_intersect_key($alllist,array_flip($selectedlist))+$alllist;
print_r($a);

Array ( [3] => three [5] => five [1] => one [2] => two [4] => four )

查看实际代码http://ideone.com/6BDxQ

于 2012-10-16T13:31:37.240 回答