2011-03-07 49 views
7

在一個正常的選擇,沒有optgroups,在CakePHP中下面的代碼將使值默認之一:CakePHP的:在選擇設置默認值與optgroups

「選擇」 => $值

一旦我有optgroups(帶標題的選擇標籤),我該如何設置默認值?以前的代碼似乎不起作用。

回答

7

,你可以嘗試這樣的:

echo $this->Form->input('group_id', array('type'=>'select','default'=>'2')); 

導致下面的HTML生成:

<option value="2" selected="selected">Managers</option> 

現在方案二顯示,而不是其他任何一個。

5

不要使用「價值」或「選定」等,這將打破你的形式在POST。 如果您必須使用視圖級別,請使用「默認」。

一個更好的辦法是從控制器進行設置:

if ($this->RequestHandler->is('post')) { 
    ... 
} else { 
    $this->data['Model']['field'] = 2; // e.g. 
} 

看到http://www.dereuromark.de/2010/06/23/working-with-forms/的細節

2
echo $this->Form->input('point', array(
    'label'=>'', 
    'options'=>$list_of_options, 
    'value'=>$default_value, 
    'empty'=>'--select--', 
    'onchange'=>'some_action();' 
) 
); 
+0

感謝你爲這個' '空'=> ' - 選擇 - '' ,你救了我的一天! – 2015-06-10 19:24:57