【发布时间】:2011-03-07 17:20:07
【问题描述】:
在没有 optgroup 的普通选择中,CakePHP 中的以下代码会将一个值设为默认值:
'选中' => $值
一旦我有了 optgroups(带有标题的选择标签),我该如何设置默认值?之前的代码好像不行。
【问题讨论】:
标签: php html cakephp cakephp-1.3
在没有 optgroup 的普通选择中,CakePHP 中的以下代码会将一个值设为默认值:
'选中' => $值
一旦我有了 optgroups(带有标题的选择标签),我该如何设置默认值?之前的代码好像不行。
【问题讨论】:
标签: php html cakephp cakephp-1.3
你可以这样尝试:
echo $this->Form->input('group_id', array('type'=>'select','default'=>'2'));
导致生成以下 HTML:
<option value="2" selected="selected">Managers</option>
现在显示选项二,而不是任何其他选项。
【讨论】:
不要使用“value”或“selected”等。这会破坏您在 POST 中的表单。 如果必须使用视图级别,请使用“默认”。
更好的方法是从控制器设置它们:
if ($this->RequestHandler->is('post')) {
...
} else {
$this->data['Model']['field'] = 2; // e.g.
}
详情请见http://www.dereuromark.de/2010/06/23/working-with-forms/
【讨论】:
echo $this->Form->input('point', array(
'label'=>'',
'options'=>$list_of_options,
'value'=>$default_value,
'empty'=>'--select--',
'onchange'=>'some_action();'
)
);
【讨论】:
'empty'=>'--select--',你拯救了我的一天!