1

我有一个数据库,其中包含字段start_datedatetime,必填)和end_datedatetime,可以为空)。我正在创建一个表单供用户使用 CakePHP 输入数据。我的表格包含

echo $this->Form->input('start_date');
echo $this->Form->input('end_date');

输出 6 selects(月-日-年时:分子午线),当前日期/时间已选择,因为数据类型为datetime. 如果我希望用户能够插入nullend_date基本上不填写该字段),我该如何更改我的表单?

我真正想要的基本上是一个带有 jQ​​uery 日历弹出窗口的文本框,用于插入格式化的日期时间,因此如果他们愿意,他们可以将文本框留空。我不完全确定要寻找什么,我猜它在文档中的某个地方,但我只是从 CakePHP 开始(所以很抱歉,因为这可能是一个基本问题)。

4

2 回答 2

7

使用空键:

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

'empty' => '-'

这将创建最终在数据库中为 NULL 的字段。

于 2013-10-15T22:08:34.410 回答
1

您可以将 jquery datepicker 与文本框一起用于日期字段。

尝试这样的事情

PHP

<?php  echo $this->Form->input('end_date', array(
              'type' => 'text',
              'label' => 'End Date',
              'class' => ' j-date',
              'div' => false
          ));
?>

您可以通过添加带有上述元素的类 j-date 来为每个日期字段添加 jquery datepicker

jQuery

<script>
      $(function() {
         $(document).ready(function() {
            $('.j-date').each(function() {
                $(this).datepicker({ dateFormat: 'yy-mm-dd', 
                                    changeMonth: true,
                                    changeYear: true
                                });
                });
            });
        });
    </script>

我希望这个解决方案对你来说是可行的。谢谢

于 2013-10-15T23:54:59.800 回答