Posted on

CakePHP formヘルパーでselectのoptionだけに属性をつける方法

formヘルパーでselectに属性を付けるときは

echo $form->input( 'Model.field', array( 'type' => 'select', 'options' => $arr, 'style' => 'color: #ff0000' ) );

option部分だけ属性を付ける時にどうすれば?・・・と思ったのでメモ

ビュー側で特に何もせずoptionsの配列を作るところで

// 通常
$arr = array(
'1' => 'PHP',
'2' => 'Java',
'3' => 'Ruby',
);
// optionだけに属性を付ける時
$arr = array(
array('name' => 'PHP', 'value' => '1', 'style' => 'color: #0000ff;'),
array('name' => 'Java', 'value' => '2', 'style' => 'color: #0000ff;'),
array('name' => 'Ruby', 'value' => '3', 'style' => 'color: #0000ff;'),
);

と設定するだけでした。下のようなプルダウンが表示されます。