CakePHP Форма Помощник ввода даты - PullRequest
3 голосов
/ 11 мая 2011

У меня есть следующий код в моем представлении:

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

Какое поле даты, и я смотрю, возможно ли иметь различный пустой текст для каждого поля выбора, например: [Месяц| v] [День | v] [Год | v].

Кто-нибудь сталкивался с этим?Большая помощь приветствуется.

Ответы [ 5 ]

5 голосов
/ 11 мая 2011

Вы можете сделать что-то вроде этого:

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

3 голосов
/ 01 декабря 2011

Я прибегнул к использованию jquery для обновления значений даты пустого торта

Cake:

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 голосов
/ 12 октября 2012
echo $this->Form->input('born', array( 'label' => 'Date of birth',
                                       'type'=>'date',
                                       'dateFormat'=> 'DMY',
                                       'minYear' => date('Y') - 70,
                                       'maxYear' => date('Y') - 18 ));
1 голос
/ 21 февраля 2018

это работает от меня (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 --',
   )
));
0 голосов
/ 16 января 2013

Если вы можете оставить ввод пустым, попробуйте это:

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

Если нет, проверьте этот ответ: https://stackoverflow.com/a/11610483/1001673

Это немного глупо, но сработает так, как ты хочешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...