複数チェックボックスで選択したものを、確認画面用に出力する方法
2015年06月13日 13:47
ゆいと
(1)入力フォームのviewから、確認ボタン押下
echo ('項目5');
$select1 = array( '1' => 'さつき',
'2' => 'ゆいと',
'3' => 'たくと',
);
echo $this->Form->input( 'MySampleData.5', array(
'type' => 'select',
'multiple'=> 'checkbox',
'options' => $select1,
'selected' => $defult // 初期値の設定
// 'div' => false // div親要素の有無(true/false)
));
echo $this->Form->end('確認');
(2)コントローラーで入力値を、確認画面用に成形する
$selectarry = array( '1' => 'さつき',
'2' => 'ゆいと',
'3' => 'たくと',
);
$confirm_datas = $this->request->data['MySampleData'];
//成型が必要なものは形をかえる
//複数チェックボックスの配列で、確認画面では選択した項目を表示させたい場合
if(is_array( $confirm_datas[5] ) ){
$string = '';
foreach ( $confirm_datas[5] as $kye => $value )
//確認画面用の配列を用意
$string .= $selectarry[$value] . '<br>';
}
$confirm_datas[5] = $string;
debug($confirm_datas);
//確認画面をrender
$this->set('confirm_datas',$confirm_datas);
$this->render('confirm');
(3)確認画面用のView
echo '<td>';echo ('項目5');echo '</td>';
echo '<td>';echo($confirm_datas[5]);echo '</td>';
echo '</tr>';
echo '<tr>';
(4)実際表示される内容
さつき
ゆいと