書式は

echo $this->Form->input('フィールド名,'オプション');

オプション名 内容
type inputタグの種別を指定
label 表示したい文字を指定。いらなければ'label' =>false
maltiple 複数選択を可能に。この場合は'type'=>'select'に指定。
class タグに付与するクラス名を設定
div 入力フォームを囲むdivタグを指定
options 配列の場合は表示とvalueが一致.連想配列の場合は値を表示
empty typeがselect date time datetimeの時、trueを設定すると空白が選択可能

select boxの場合

echo $this->Form->input("group_id", array(
                    'label' => 'グループ',  //表示させたい文字列を入れる
                    'type' => 'select',  //selectboxを作りたいので'select'
                    'options' => $lists, 
                    'empty' => array(
                        '0' => '選択してください');  //何も選択しない項目を作るとともに、その項目に'0'のvalueを指定

配列に入れずにこのように指定も可能

'empty' => '選択してください';

複数選択の方法については下のcheckboxのとこに書きます。

radio buttonの場合

  echo $this->Form->input('group_id', array(
                    'type' => 'radio', //ラジオボタン
                    'options' => $lists,
                    'separetor' =>'<br/>' //各項目の間に挿入する文字列を設定
                    'div' => 'radio_group', // divにclassを付与
                    'style' => 'float:none;' //ラジオボタンを横並びにする
                    ));

ラジオボタンを横並びにする場合はCSSで、指定したclassでlabelにdisplay: inline-blockの指定が必要。

checkboxの場合(複数選択(selectboxも一緒))

echo $this->Form->input('group_id', array(
                    'type' => 'select', //複数選択なのでここでselectを指定
                    'options' => $lists,
                    'multiple'=> 'checkbox', //typeがselectのとき複数選択を可能とする
                    ));

checkboxの場合(単体)

 echo $this->Form->input('group_id', array(
                    'type' => 'checkbox',
                    'label'=>'グループ'
                    ));
        //一個ずつ書いていく

自分の実装したいものに合わせてカスタマイズできます。
便利なので色々と調べてみました。
ここに書いたのもほんの一部なのでまた調べてみたいと思います。

Shere
  • はてなブログ
  • Twitter
  • Facebook
CakePHPのselect,radio,checkboxのオプション

Writer

  • Name

    美穂

  • Position

    修行の身(昼からお酒が飲みた........$%#)

  • Profile