我需要很长时间才能找到解决问题的方法...... 当您在Sf2中选择多个时,它会像这样呈现
<select multiple="multiple">
<option value="1" selected="selected">something</option>
<option value="3" selected="selected">something else</option>
</select>
我想在每个选项之前找到要添加复选框的内容。 像这样,用户必须单击复选框才能选中它。
这是我的表单构建器中的代码:
->add('projNats', EntityType::class, array(
'class' => 'ITBundle:Nature',
'label' => 'nature',
'choice_label' => 'lib',
'multiple' => true,
'required' => false))
理想情况下,我想要这样的东西,但它不起作用......
{% for nat in form.projNats %}
<input type="checkbox"> {{ form_widget(nat) }}
{% endfor %}
我尝试自定义选项小部件,但我没有设法做到这一点。
{% block choice_widget_expanded %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
<input type="checkbox"> {{ form_widget(child) }}
{% endfor %}
</div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
使用symfony可能太难或根本不可能,我应该使用一些javascript ...
答案 0 :(得分:0)
您必须启用expanded
option才能显示复选框:
<强>扩展强>
输入:
boolean
默认值:false
如果设置为true,将呈现单选按钮或复选框 (取决于多重值)。如果为false,则选择元素 呈现。
所以你应该使用这样的东西:
->add('projNats', EntityType::class, array(
'class' => 'ITBundle:Nature',
'label' => 'nature',
'choice_label' => 'lib',
'multiple' => true,
'expanded' => true,
'required' => false))