我有一个带有实体字段的表单,您可以在其中选择多个省份。我希望将它显示为一个列表,一个在另一个下面,但这就是它现在的样子:
我希望它看起来像这样:
我可以编辑它吗?
formType代码:
$builder->add('provinces', EntityType::class, array(
'label' => 'Provincias donde actuo',
'required' => true,
'class' => 'CASEventBundle:Province',
'choice_label' => 'name',
'required' => false,
'multiple' => true,
'expanded' => true
));
树枝模板:
{{ form_label(form.provinces) }}
<br>
<input type="checkbox" class="selectAllCheckboxes">Seleccionar todos<br>
{{ form_errors(form.provinces) }}
{{ form_widget(form.provinces) }}
<br><br>
编辑:以下是生成的HTML代码:
<div id="cas_group_profile_provinces" class="claseprov">
<input type="checkbox" id="cas_group_profile_provinces_1" name="cas_group_profile[provinces][]" value="1">
<label for="cas_group_profile_provinces_1">Álava</label>
<input type="checkbox" id="cas_group_profile_provinces_2" name="cas_group_profile[provinces][]" value="2">
<label for="cas_group_profile_provinces_2">Albacete</label>
<input type="checkbox" id="cas_group_profile_provinces_3" name="cas_group_profile[provinces][]" value="3">
<label for="cas_group_profile_provinces_3">Alicante</label>
<input type="checkbox" id="cas_group_profile_provinces_4" name="cas_group_profile[provinces][]" value="4">
<label for="cas_group_profile_provinces_4">Almería</label>
...
</div>
答案 0 :(得分:1)
我自己找到了一个解决方案
{{ form_label(form.provinces) }}
<br>
<input type="checkbox" class="selectAllCheckboxes">Seleccionar todos<br>
<div id="provs" st>
{% for field in form.provinces %}
<div class="provsli" style="display: inline-block; width: 180px;">
{{ form_widget(field) }}
{{ form_label(field) }}
</div>
{% endfor %}
</div>
即便如此,多亏了所有答案:)
答案 1 :(得分:0)
查看您的示例,您想要生成的html
基本上是:
<label>
<input type="checkbox"> Label Name
</label>
这样你可以浮动标签,让它们充当文本和复选框的小容器,或者使用flexbox
并拥有更多控制权。
*{ box-sizing: border-box; }
div {
display: flex;
flex-wrap: wrap;
}
label {
flex: 1 0 25%;
white-space: nowrap;
padding: 5px;
}
input {
display: inline;
margin: 0 10px 0 0;
}
&#13;
<div id="cas_group_profile_provinces" class="claseprov">
<label for="cas_group_profile_provinces_1"><input type="checkbox" id="cas_group_profile_provinces_1" name="cas_group_profile[provinces][]" value="1">Álava</label>
<label for="cas_group_profile_provinces_2"><input type="checkbox" id="cas_group_profile_provinces_2" name="cas_group_profile[provinces][]" value="2">Albacete</label>
<label for="cas_group_profile_provinces_3"><input type="checkbox" id="cas_group_profile_provinces_3" name="cas_group_profile[provinces][]" value="3">Alicante</label>
<label for="cas_group_profile_provinces_4"><input type="checkbox" id="cas_group_profile_provinces_4" name="cas_group_profile[provinces][]" value="4">Almería</label>
<label for="cas_group_profile_provinces_1"><input type="checkbox" id="cas_group_profile_provinces_1" name="cas_group_profile[provinces][]" value="1">Med length</label>
<label for="cas_group_profile_provinces_2"><input type="checkbox" id="cas_group_profile_provinces_2" name="cas_group_profile[provinces][]" value="2">Short</label>
<label for="cas_group_profile_provinces_3"><input type="checkbox" id="cas_group_profile_provinces_3" name="cas_group_profile[provinces][]" value="3">Something long</label>
<label for="cas_group_profile_provinces_4"><input type="checkbox" id="cas_group_profile_provinces_4" name="cas_group_profile[provinces][]" value="4">Almería</label>
<label for="cas_group_profile_provinces_1"><input type="checkbox" id="cas_group_profile_provinces_1" name="cas_group_profile[provinces][]" value="1">Álava</label>
<label for="cas_group_profile_provinces_2"><input type="checkbox" id="cas_group_profile_provinces_2" name="cas_group_profile[provinces][]" value="2">Albacete</label>
<label for="cas_group_profile_provinces_3"><input type="checkbox" id="cas_group_profile_provinces_3" name="cas_group_profile[provinces][]" value="3">Short</label>
<label for="cas_group_profile_provinces_4"><input type="checkbox" id="cas_group_profile_provinces_4" name="cas_group_profile[provinces][]" value="4">Something long</label>
</div>
&#13;