CakePHPでグループ化されたチェックボックスを作る方法です。
チェックボックスの数が多くなる場合、区分けしておきたいですね。
まず、チェックボックスの元になるデータを下記のように作成します。
二次元配列でデータを作りましょう。
1 2 3 4 5 6 7 8 9 10 |
$data=array( '東京都' => array( 1 => '新宿', 2 => '渋谷' ), '神奈川県' => array( 3 => '横浜', 4 => '箱根' ) ); |
あとはFormHelperの
「type」に「select」
「multiple」に「checkbox」
そして「options」に上記で作成した二次元配列データ「$data」を設定するだけです。
1 2 3 4 5 6 7 8 9 10 11 |
<div class="Box"> echo $this->form->input('test', array('type' => 'select', 'options' => $data, 'multiple' => 'checkbox', 'value' =>$testData, 'div'=>false, 'legend'=>false, ) ); </div> |
CakePHPのcheckboxはデフォルトで縦に並ぶので、横に並ぶように変更したい場合は下記のようにCSSを設定します。
ポイントはチェックボックス全体を「div」などで囲み、クラス名を付ける。
クラス名のチェックボックスに「float:left」を設定する点です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
.Box legend{ display: block; width: 100%; font-size: 100%; line-height: 140%; color: #000000; border-bottom: 1px solid #e5e5e5; background-color:#D9EDF7; } .Box .checkbox{ float:left; } |
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)