我有一个简单的formType,只有一个checkBoxType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('domain_choose', CheckboxType::class, [
'label' => false,
]);
}
然后我在循环中渲染它
{% for domain, availability in availabilities %}
<tr>
<td>{{ form_widget(form.domain_choose) }}</td>
</tr>
{% endfor %}
问题在于,只渲染循环的第一个复选框。
我尝试手动更改表单名称而没有成功
{'full_name': 'domain_choose[domain_choose_' ~ loop.index ~ ']'},
有没有办法在循环中多次渲染此复选框?或者我应该使用没有formType的单个复选框输入?
答案 0 :(得分:0)
@Jérôme根据symfony表单,您不重复表单元素。如果你需要多个复选框,那么你可以使用类似的东西
$builder->add('domain_choose', ChoiceType::class, array(
'choices' => array(
'Select' => null,
'Domain1' => 'Domain1',
'Domain2' => 'Domain2',
),
'expanded' => true,
'multiple' => true
));
expanded =&gt; true和multiple =&gt; true用于(多个)复选框,有关详细信息,请访问http://symfony.com/doc/current/reference/forms/types/choice.html