symfony2 - 日期时间选择器 - 将表单类型合并为一个

Rob*_*_UK 8 forms datepicker datetimepicker symfony

我想在symfony2中创建一个可重用的日期时间选择器.这个想法是由3个独立的输入参数组成.我将用完整的信息更新问题,以便其他人可以使用我的发现.

{text input} {select hour} {select time}

问题是如何创建一个将3个输入合二为一的自定义可重用表单.

我附上了一个截图,以便了解我想要实现的目标

在此输入图像描述

symfony docs
http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html#creating-a-template-for-the-field

Fab*_*ngo 14

您只需使用jquery.datetime选择器来显示日期时间选择器或其中一个(日期或时间).

我最近在我的一个网站上做过.

$builder->add('dateheure', 'datetime', array('date_widget' => "single_text", 'time_widget' => "single_text"));
Run Code Online (Sandbox Code Playgroud)

并在您的页面上调用jquery,datetime css和js:

<link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css"/ >
<script src="jquery.js"></script>
<script src="jquery.datetimepicker.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后在您的字段上激活datetimepicker:

$(function(){
    $("#form_dateheure input").each(function(){
        $(this).attr("readonly","readonly");
    });
    $('#form_dateheure_date').datetimepicker({
        format: "Y-m-d",
        timepicker: false,
        datepicker: true,
    });
    $('#form_dateheure_time').datetimepicker({
        format: "H:i",
        timepicker: true,
        datepicker: false,
        step:5
    });
});
Run Code Online (Sandbox Code Playgroud)