モデルから 2 つの配列を作成します。1 つはユーザーから既に選択されている値で、2 番目の使用可能な値はユーザーが選択することもできます。これは編集ページ用です。複数選択入力ボックスに両方のモデルの値を入力したいが、既に選択されている値 (1 番目の配列) を強調表示したい。それはモデルをうまく作成し、array_merge() を使用して両方の配列をオプションとしてマージしますが、選択したものは正しいフィールドを強調表示しません。任意のヒント?
// Controller:
$ivrNumbersAvail = $this->Survey->SurveyIvrNumber->find("list",array("conditions" => array("OR" => array("SurveyIvrNumber.survey_id" => array($id)))));
$ivrNumbersSelected = $this->Survey->SurveyIvrNumber->find("list",array("conditions" => array("OR" => array("SurveyIvrNumber.survey_id" => array(0)))));
// In the view:
echo $this->Form->input('SurveyIvrNumbers.id',array(
'empty' => '-- Select IVR Number(s) --',
'options' => array_merge($ivrNumbersAvail,$ivrNumbersSelected),
'selected' => $ivrNumbersSelected,
'class' => 'textbox',
'multiple' => true,
'div' => array(
'class' => 'field'
),
'label' => array(
'class' => 'label-tooltip',
'title' => '', //tool tips
'text' => 'IVR Numbers: (you can select multiple numbers)'
),
'after' => '<p class="field-help"></p>'
));