1

選択した複数の値をすべて上部に表示する方法はありますか?
例えば。リストに1から10が含まれ、選択された値が4,8の場合、リストボックスには4,8,1,2,3,5,6,7,9,10のような値が必要です。

4

1 に答える 1

1

これらは、selectのデータを一覧表示する2つの一般的な方法です。

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'));

1つ目は配列を使用し、ユーザーの好みに基づいて配列キーを定義、再配置できます。

次に、おそらく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 に答える