有没有办法在顶部显示所有多个选定的值。
例如。如果列表包含 1 到 10,并且选定的值为 4,8,则列表框应具有类似 4,8,1,2,3,5,6,7,9,10 的值
问问题
2475 次
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 回答