我的表单类型有问题。我有一个实体事件和一个其他实体类。它在多对多中。当我显示表单时,它在 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 - CheckboxType 中的 Symfony 转换 ChoiceType,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41125218/