2013-03-11 40 views
0

我希望在ctp时间下拉列表中显示默认时间为上午9:00。以下是我的ctp代码:在cakephp中显示默认时间ctp

<?php 
             echo $this->Form->input('Rideoffer.DepartureTime', array(
                 'type' => 'time', 

                 'interval' => 5 
                 )); 
          ?> 

我该怎么做?

回答

1

使用 '选择' 选项

<?php 
echo $this->Form->input('Rideoffer.DepartureTime', array(
    'type' => 'time', 
    'interval' => 5, 
    'selected' => '09:00:00', 
)); 
?> 
+0

是不是“默认”更好的选择? – mark 2013-03-11 11:06:34

+0

不,不适用于SELECT元素 – kaklon 2013-03-11 11:09:05

+0

“selected”通常不是最好的方法(它在POST后破坏表单),在大多数情况下,“default”是正确的(对于复选框不是) - 请阅读文档:http: //book.cakephp.org/2.0/en/core-libraries/helpers/form.html#common-options – mark 2013-03-11 11:10:58

0

设置默认的数据使用控制器的最佳方式(且仅当不贴):

if (!$this->request->is('post')) { 
    $this->request->data['Rideoffer']['DepartureTime'] = '09:00:00'; 
} 

看到http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#common-options

这适用于所有形式的元素。

表单中的“selected”,“value”,“checked”和其他硬编码属性通常会在不成功的帖子之后破坏表单(如果表单包含验证错误):它将丢失所有输入的数据并将其重置为它之前的价值通常对前端用户来说很烦人。

请参阅http://www.dereuromark.de/2010/06/23/working-with-forms/