Symfony日期小部件自定义

Symfony日期小部件自定义,symfony,date,widget,customization,Symfony,Date,Widget,Customization,我是Symfony的新手,我刚刚发现了日期小部件,->add('dueDate','date',array('widget'=>'single_text')),提供了以下输出: 我想知道是否可以自定义小部件输出,以便在小部件中只能选择数据库中的日期和年份? 我只希望从我的数据库条目中获取的日期和年份在date小部件中成为可选选项,其余的变灰 这可行吗?我可能错了,但我认为这(在图片上)是一个内置的Chrome的数据采集器(它使用日期输入类型)。此外,大多数浏览器没有内置的日期选择器(例如最新的

我是Symfony的新手,我刚刚发现了日期小部件,
->add('dueDate','date',array('widget'=>'single_text'))
,提供了以下输出:

我想知道是否可以自定义小部件输出,以便在小部件中只能选择数据库中的日期和年份?

我只希望从我的数据库条目中获取的日期和年份在date小部件中成为可选选项,其余的变灰


这可行吗?

我可能错了,但我认为这(在图片上)是一个内置的
Chrome
的数据采集器(它使用
日期
输入类型)。此外,大多数浏览器没有内置的日期选择器(例如最新的
Firefox

您可能能够找到一种方式来设置它的样式(可能非常有限),但是要细化选择,您需要使用一些基于
JS
的解决方案

像这样的


我可能错了,但我认为这是一个内置的
Chrome
数据采集器(它使用
日期
输入类型)。此外,大多数浏览器没有内置的日期选择器(例如最新的
Firefox

您可能能够找到一种方式来设置它的样式(可能非常有限),但是要细化选择,您需要使用一些基于
JS
的解决方案

像这样的


我可能错了,但我认为这是一个内置的
Chrome
数据采集器(它使用
日期
输入类型)。此外,大多数浏览器没有内置的日期选择器(例如最新的
Firefox

您可能能够找到一种方式来设置它的样式(可能非常有限),但是要细化选择,您需要使用一些基于
JS
的解决方案

像这样的


我可能错了,但我认为这是一个内置的
Chrome
数据采集器(它使用
日期
输入类型)。此外,大多数浏览器没有内置的日期选择器(例如最新的
Firefox

您可能能够找到一种方式来设置它的样式(可能非常有限),但是要细化选择,您需要使用一些基于
JS
的解决方案

像这样的


日期类型以html格式输出:

<input type="date" name=... >

这是一个有效的HTML5输入类型。使用这种类型,所有主要浏览器都会向您显示某种日历,但这取决于浏览器


可以考虑JavaScript解决方案,比如jQueQueDePikor,但是在那种情况下,你应该只使用一个普通的文本字段(->添加(‘DueDATE’,‘text’);)并且按照客户机选择的日期(时间)选择器的约定。 日期类型以html格式输出:

<input type="date" name=... >

这是一个有效的HTML5输入类型。使用这种类型,所有主要浏览器都会向您显示某种日历,但这取决于浏览器


可以考虑JavaScript解决方案,比如jQueQueDePikor,但是在那种情况下,你应该只使用一个普通的文本字段(->添加(‘DueDATE’,‘text’);)并且按照客户机选择的日期(时间)选择器的约定。 日期类型以html格式输出:

<input type="date" name=... >

这是一个有效的HTML5输入类型。使用这种类型,所有主要浏览器都会向您显示某种日历,但这取决于浏览器


可以考虑JavaScript解决方案,比如jQueQueDePikor,但是在那种情况下,你应该只使用一个普通的文本字段(->添加(‘DueDATE’,‘text’);)并且按照客户机选择的日期(时间)选择器的约定。 日期类型以html格式输出:

<input type="date" name=... >

这是一个有效的HTML5输入类型。使用这种类型,所有主要浏览器都会向您显示某种日历,但这取决于浏览器


可以考虑JavaScript解决方案,比如jQueQueDePikor,但是在那种情况下,你应该只使用一个普通的文本字段(->添加(‘DueDATE’,‘text’);)并且按照客户机选择的日期(时间)选择器的约定。 If建议您禁用

html5
datepicker并使用
jquery
version

禁用html5并附加jquery:

$builder->add('date_created', 'date', array(
    'widget' => 'single_text',
    'html5'  => false,
    'format' => 'd/MM/y',
    'attr' => array(
        'class' => 'datetimepicker'
    )
));
日期选择器配置:

$('.datetimepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
});

If建议您禁用
html5
datepicker并使用
jquery
version

禁用html5并附加jquery:

$builder->add('date_created', 'date', array(
    'widget' => 'single_text',
    'html5'  => false,
    'format' => 'd/MM/y',
    'attr' => array(
        'class' => 'datetimepicker'
    )
));
日期选择器配置:

$('.datetimepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
});

If建议您禁用
html5
datepicker并使用
jquery
version

禁用html5并附加jquery:

$builder->add('date_created', 'date', array(
    'widget' => 'single_text',
    'html5'  => false,
    'format' => 'd/MM/y',
    'attr' => array(
        'class' => 'datetimepicker'
    )
));
日期选择器配置:

$('.datetimepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
});

If建议您禁用
html5
datepicker并使用
jquery
version

禁用html5并附加jquery:

$builder->add('date_created', 'date', array(
    'widget' => 'single_text',
    'html5'  => false,
    'format' => 'd/MM/y',
    'attr' => array(
        'class' => 'datetimepicker'
    )
));
日期选择器配置:

$('.datetimepicker').datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd/mm/yy"
});

看来你是对的。我在FireFox中尝试了相同的页面,日期选择器显示为一个空文本字段。我不知道怎么继续。日期选择器需要对所有浏览器都可用。你说得对,这是chrome日期选择器,它只在chrome中工作。它之所以出现,是因为输入类型是date。@sisko Use@xurshid29:OP没有指定他使用的是Bootstrap:)@xurshid29:I会检查出来的。谢谢,看来你是对的。我在FireFox中尝试了相同的页面,日期选择器显示为一个空文本字段。我不知道怎么继续。日期选择器需要对所有浏览器都可用。你说得对,这是chrome日期选择器,它只在chrome中工作。它之所以出现,是因为输入类型是date。@sisko Use@xurshid29:OP没有指定他使用的是Bootstrap:)@xurshid29:I会检查出来的。谢谢,看来你是对的。我在FireFox中尝试了相同的页面,日期选择器显示为一个空文本字段。不知道该怎么做