CakePHP:使用optgroups在select上设置默认值

Cha*_*aim 7 html php cakephp cakephp-1.3

在正常选择中,没有optgroups,CakePHP中的以下代码将使值成为默认值:

'selected'=> $ value

一旦我有了optgroups(带标题的select标签),我该如何设置默认值?以前的代码似乎不起作用.

ben*_*min 7

你可能会这样尝试:

echo $this->Form->input('group_id', array('type'=>'select','default'=>'2'));
Run Code Online (Sandbox Code Playgroud)

导致生成以下HTML:

<option value="2" selected="selected">Managers</option>
Run Code Online (Sandbox Code Playgroud)

现在显示选项二而不是任何其他选项.


mar*_*ark 5

不要使用"值"或"选中"等.这将在POST中破坏您的表单.如果必须使用视图级别,请使用"default".

更好的方法是从控制器设置它们:

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

有关详细信息,请参见http://www.dereuromark.de/2010/06/23/working-with-forms/