Jquery 如何在Symfony2表单生成器中获取日期选择器
我在命令工具doctrine中创建了一个实体,带有一个日期字段。现在,它通常只显示一个简单的选择框,效果很好。现在我想把它渲染成日历,日期选择器。不幸的是,即使在stackoverflow上有很多问题和答案,我也无法正确回答。我已经用Jquery datepicker尝试过了,但它仍然是一个文本框,我将向您展示我的代码: ReserverenType.phpJquery 如何在Symfony2表单生成器中获取日期选择器,jquery,symfony,date,doctrine-orm,datepicker,Jquery,Symfony,Date,Doctrine Orm,Datepicker,我在命令工具doctrine中创建了一个实体,带有一个日期字段。现在,它通常只显示一个简单的选择框,效果很好。现在我想把它渲染成日历,日期选择器。不幸的是,即使在stackoverflow上有很多问题和答案,我也无法正确回答。我已经用Jquery datepicker尝试过了,但它仍然是一个文本框,我将向您展示我的代码: ReserverenType.php <?php namespace Codeit\RestaurantBundle\Form; use Symfony\Comp
<?php
namespace Codeit\RestaurantBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ReserverenType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('naam')
->add('datum', 'date' ,array(
'widget'=> 'single_text',
'format'=>'yyyy/MM/dd',
))
->add('tijd')
->add('personen')
->add('email')
->add('opmerkingen')
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Codeit\RestaurantBundle\Entity\Reserveren'
));
}
/**
* @return string
*/
public function getName()
{
return 'codeit_restaurantbundle_reserveren';
}
}
对于上一个示例中使用的javascript,您需要使用它,而不是以前的数据字段
$builder->add('datum','date',数组(
'widget'=>'single_text',
'格式'=>'yyyy/MM/dd',
'attr'=>['class'=>'date'],
));
仍然有一个空白的输入字段。这是不是意味着我的Jquery不起作用或什么的?忘记提到@benoît了
{% block stylesheets %}
{% stylesheets
'%kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.css'
'%kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap-theme.css'
'@CodeitRestaurantBundle/Resources/public/css/jquery-ui.min.css'
%}
<link rel="stylesheet" href="{{ asset_url }}">
{% endstylesheets %}
{% endblock %}
{% block javascripts %}
{% javascripts
'%kernel.root_dir%/../vendor/components/jquery/jquery.js'
'%kernel.root_dir%/../vendor/twbs/bootstrap/dist/js/bootstrap.js'
'@CodeitRestaurantBundle/Resources/public/js/jquery-ui.min.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{% extends '::base.html.twig' %}
{% block body -%}
<h1>Maak een reservering</h1>
{{ form(form) }}
<a href='../../restaurant.php'>
<div class="terug" style="margin-top: 10px;"> ← Terug naar restaurant pagina </div>
</a>
<script type=”text/javascript”>
$('.date').datepicker({
showOn: 'button',
buttonImageOnly: true,
changeMonth: true,
changeYear: true,
dateFormat: 'dd-mm-yy',
yearRange: "-0:+1"
});
</script>
{% endblock %}