我的表单类型有问题。我有一个实体事件和另一个实体类。它在 ManyToMany 中。当我显示表单时,它位于 ChoiceType
中,但我希望它位于 CheckboxType
中。所以我:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('libelle')
->add('horraire')
->add('horraireDebut')
->add('horraireFin')
->add('description')
->add('classes');
}
它显示一个 ChoiceType
但我想要一个 CheckboxType
,所以我将其更改为:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('libelle')
->add('horraire')
->add('horraireDebut')
->add('horraireFin')
->add('description')
->add('classes', CheckboxType::class);
}
但这只显示一个复选框,而我有多个录音(第一个代码显示得很好)。
我的 form.html.twig :
<div class="form-group{% if form.classes.vars.errors|length %} has-error{% endif %}">
<label for="{{ form.classes.vars.id }}" class="col-sm-3 control-label no-padding-right required">Classes <span class="red">*</span></label>
<div class="col-sm-9">
{{ form_widget(form.classes,{'attr': {'class': 'form-control'}}) }}
{{ form_errors(form.classes) }}
</div>
如何获得复选框行或复选框下拉列表?
谢谢!
最佳答案
只需同时使用 multiple
和 expanded
选项即可实现此目的 ( Ref ):
$builder->add('classes', null, array(
'multiple' => true,
'expanded' => true,
));
然后复选框将被渲染。
请注意,如果您使用 Doctrine ORM,null
值表示 EntityType::class
。否则,使用 EntityType::class
和 'class' => Entity::class
选项。
关于php - Symfony 在 CheckboxType 中转换 ChoiceType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41125218/