checkボックスを実装

selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。
コードは、CakePHP 2と1.3両方で実装可能です。デモ
モデルは、こちらも以下
CREATE TABLE IF NOT EXISTS `prefectures` ( `id` INT NOT NULL AUTO_INCREMENT, -- id `prefecture` VARCHAR(8) NOT NULL, -- 都道府県 `area` VARCHAR(8) NOT NULL, -- 地方 PRIMARY KEY (`id`) )
単体でon/offするcheckボックス
規定値を指定する場合は、checkedに指定します。チェックの場合はtrue(もしくは1)、チェックしない場合はfalse(もしくは0)を。
// ビュー echo $this->Form->input( 'yesno', array( 'type' => 'checkbox', // 'checked' => true, // 初期表示で選択させる場合 'label' => '選ぶ', // チェックボックスのラベル // 'div' => false // div親要素の有無(true/false) ));
classなどの設定はこちらを
Formヘルパーのinputタグのdiv/labelなどの設定
複数選択できるcheckボックス
単体のcheckボックスを並べてそれぞれのデータをコントローラ側で処理するのもアリですが、データを配列で受け取るため一括で定義して使用する機会もあると思います。
'multiple' => 'checkbox'と指定することで複数選択可能なチェックボックスを実装することができます。その部分以外は、selectボックスと同じです。(selectボックス)
// コントローラ $this->set( 'select1', $this->Prefecture->find( 'list', array( 'fields' => array( 'id', 'prefecture') ))); // ビュー echo $this->Form->input( 'prefecture', array( 'type' => 'select', 'multiple'=> 'checkbox', 'options' => $select1, // 'selected' => $selected // 規定値は、valueを配列にしたもの // 'div' => false // div親要素の有無(true/false) ));
グループ化
'multiple'=> 'checkbox'を変更する以外はselectボックスと同じです。
関連記事
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し
-
-
ログローテーション
CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
Cookieログイン
今回は、ログイン画面でよくみかけるクッキーログインの機能を使ってみます。 CakePHPには、Cookieコンポーネントがあります。(PHPのsetcookieメソッドのラッパー)メソッドはwr
-
-
Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま
-
-
Markdown Plugin
「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー
- PREV
- CakeEmailでメール送信(@gmail)
- NEXT
- テーマ ブックマーク 2013
Comment
[…] の2通りがありますが、(1)は、$this->Form->inputのoptionで、 ‘multiple’=>’checkbox’ ‘options’=> array(‘いちご’,'レモン’,'バナナ’) を入れる形でできるようです。 参考-> http://kwski.net/cakephp-2-x/1096/ […]
checkボックスを実装 #cakephp #form #trick876
http://t.co/wlsLjxvYNL
[…] 引用元: CakePHP 2.x | checkボックスを実装. […]