CakePHP Form Helper输入日期

时间:2011-05-11 15:27:13

标签: cakephp date input

我在视图中有以下代码:

$this->Form->input('born');

这是一个日期字段,我看看是否可以为每个选择框添加不同的空文本,如:[月| v] [日| v] [年| v]。

有没有人遇到这样做?非常感谢。

5 个答案:

答案 0 :(得分:5)

您可以这样做:

echo $this->Form->input('born', array( 'label' => 'Date of birth', 
   'dateFormat' => 'DMY', 
   'minYear' => date('Y') - 70,
   'maxYear' => date('Y') - 18 ));

它们将是下拉列表而不是空文本字段。您可以在此处阅读有关表单助手和自动表单的更多信息:

http://book.cakephp.org/#!/view/1390/Automagic-Form-Elements

答案 1 :(得分:3)

我已经使用jquery来更新蛋糕空日期值

蛋糕:

echo $this->Form->input('born', array( 'label' => 'Date of birth', 
   'dateFormat' => 'DMY', 
   'minYear' => date('Y') - 70,
   'maxYear' => date('Y') - 18,
   'empty' => true
 ));

jQuery的:

$(function() {
    $('.input.date select[name$="[day]"] option[value=""]').html('-- Day --');
    $('.input.date select[name$="[month]"] option[value=""]').html('-- Month --');
    $('.input.date select[name$="[year]"] option[value=""]').html('-- Year --');
});

答案 2 :(得分:2)

echo $this->Form->input('born', array( 'label' => 'Date of birth',
                                       'type'=>'date',
                                       'dateFormat'=> 'DMY',
                                       'minYear' => date('Y') - 70,
                                       'maxYear' => date('Y') - 18 ));

答案 3 :(得分:1)

这个作品形成了我(CakePHP 2x)

echo $this->Form->input('born', array( 'label' => 'Date of birth', 
   'dateFormat' => 'DMY', 
   'minYear' => date('Y') - 70,
   'maxYear' => date('Y') - 18,
   'empty' => array(
       'day' => '-- Day --', 'month' => '-- Month --', 'year' => '-- Year --',
   )
));

答案 4 :(得分:0)

如果您可以将输入留空,请尝试以下操作:

echo $this->Form->input('born', array('empty' => true));

如果没有,请查看以下答案:https://stackoverflow.com/a/11610483/1001673

有点hacky但是它会做你想要的。