【问题标题】:Symfony2: Display Bootstrap Switch Button and get selected values in controllerSymfony2:显示引导开关按钮并在控制器中获取选定的值
【发布时间】:2014-11-26 11:55:10
【问题描述】:

我想在 symfony2 中实现以下字段。它有 2 个单选按钮,它们的样式类似于 Switch,使用了一些引导样式。

Example here

在 html 和 bootstrap sn-p 上方显示所需的输出

<div class="btn-group btn-toggle" data-toggle="buttons">
    <label class="btn btn-primary active">
      <input type="radio" name="options" value="option1"> On
    </label>
    <label class="btn btn-default">
      <input type="radio" name="options" value="option2" checked=""> Off
    </label>
  </div>

哪个输出

为了让这个例子工作,它需要标签内的标签。 但是 symfony 表单构建器正在渲染

<radio>..</radio>
<label></label>

如何使用 symfony 表单生成器在 &lt;label&gt; 中呈现 &lt;radio&gt; 标签?

在 symfony 中我们使用了这个代码的复选框,但它显示的是普通的单选组,

->add('check', 'choice', array(
                'choices' => array(
                    0 => 'On',
                    1 => 'Off'
                ),
                    'expanded'  => true,
                    'multiple'  => false,
                'data' => 1
            ))

【问题讨论】:

    标签: php css twitter-bootstrap symfony formbuilder


    【解决方案1】:

    【讨论】:

    • 你的意思是像第二个链接中的第 48 行
    • 是的,你必须在 45-52 之间添加它们的样式
    • 我怎样才能在孩子里面添加'class="some_class"呢?
    • 我试过了。这会将样式应用于包含子单选类型及其标签的 div 我想设置子样式 ..
    • 在文件中添加自定义块小部件并使用它:{{- your_custom_block_widget(child) -}} 而不是 {{- form_widget(child) -}}
    【解决方案2】:

    在 ProjectType.php 中

      $builder->add('progress', 'choice', array('label'=>'State of the project',
                'expanded' => true,
                'multiple' => false,
                'choices' => array(
                    '1'=>'Draft',
                    '2'=>'Advanced',
                    '3'=>'Final step',
                )));
    

    树枝:

                <div class="form-group">
                    {{ form_label(form.progress) }}
                    <div class="col-sm-9 btn-group" data-toggle="buttons">
                        {% for key,choice in form.progress.vars.choices %}
                        <label class="btn btn-default {% if choice.value == form.progress.vars.value %}active{% endif %}">
                            <input type="radio" id="{{ form.progress.vars.id }}_{{ key }}" {% if choice.value == form.progress.vars.value %}checked{% endif %}
                                   autocomplete="off" name="{{ form.progress.vars.full_name }}" value="{{ choice.value }}">
                            {{ choice.label }}
                        </label>
                        {% endfor %}
                    </div>
                </div>
    

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 2016-04-09
      • 1970-01-01
      • 2021-02-08
      • 2021-05-08
      相关资源
      最近更新 更多