我坚持使用嵌入式表格。
我有一个由三个字段组成的假日表格:名称,开头和结尾。 请注意,开始和结束由Bootstrap date-time picker
管理
然后我有一个由一些字段和一个假日表格集合组成的成绩表格。 添加或删除假日表单的javascript部分工作正常。
正如您在此图片中看到的,不显示开始和结束图标。但这不是全部,日期时间选择器不起作用。 我发现symfony给出的数据原型不完整,缺少一些类。
我应该在我的类型中添加选项或其他内容以使其有效吗?
编辑:
我的成绩类型:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('name');
$builder->add('campus', 'entity',
[
'class' => 'Ent\HomeBundle\Entity\Campus',
'property' => 'name',
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) use ($options) {
$qb = $er->createQueryBuilder('c');
if ($this->controller->getCurrentUser()->getGroup()->getRole() == 'ROLE_ADMIN') {
$qb->where($qb->expr()->in('c', ':campuses'))
->setParameter('campuses', $this->controller->getCurrentUser()->getCampuses()->toArray());
}
return $qb;
}
]
);
$builder->add('school', 'entity', [
'class' => 'Ent\HomeBundle\Entity\School',
'property' => 'name'
]
);
$builder->add('holidays', 'collection',
[
'type' => new HolidayType($this->controller),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false
]
);
}
我的假日类型:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('name');
$builder->add('begin', new DatePickerType(), ['help' => 'Only the day and the month will be used']);
$builder->add('end', new DatePickerType(), [
'required' => false,
'help' => 'Only the day and the month will be used',
]
);
$builder->addEventListener(FormEvents::POST_BIND, array($this, 'isEndValid'));
}
答案 0 :(得分:1)
datepicker无法正常工作,因为您通过javascript添加了datepicker字段。你必须打电话给
$('.datepicker').datetimepicker({
format: 'dd/MM/yyyy hh:mm:ss'
});
从原型添加新行时。通过调用.datetimepicker(),您可以为所选字段启用datepicker。
关于缺少的类您必须发布DatePickerType的内容。