【问题标题】:Edit view of checkbox list in Symfony formSymfony 表单中复选框列表的编辑视图
【发布时间】:2017-01-26 12:48:46
【问题描述】:

我有一个带有实体字段的表单,您可以在其中选择多个省份。我想将它显示为一个列表,一个在另一个之下,但现在是这样的:

我希望它看起来像这样:

有什么方法可以编辑吗?

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>

【问题讨论】:

标签: html css forms symfony twig


【解决方案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>

感谢所有的答案:)

【讨论】:

    【解决方案2】:

    看你的例子,你想要的生成的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;
    }
    <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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多