【问题标题】:Symfony3 - How to separate radio buttons from a choicetypeSymfony3 - 如何将单选按钮与选择类型分开
【发布时间】:2016-12-08 01:53:21
【问题描述】:

我想创建一个带有单选按钮(输入组)的文本字段和该字段上方的单个单选按钮。我想要链接 2 个单选按钮。

这是一个例子:https://jsfiddle.net/y8tecoyf/

<div class="form-group">
  <label class="col-sm-4 control-label">Field 1 :</label>
  <div class="col-sm-8 ">
    <div class="input-group">
      <span class="input-group-addon">
        <input type="radio" aria-label="..." name="choice" value="f1">
      </span>
      <input type="text" class="form-control" aria-label="...">
    </div><!-- /input-group -->
  </div>
</div>
<div class="form-group">
  <label class="col-sm-4 control-label">Field 2 :</label>
  <div class="col-sm-8 ">
    <input type="radio" aria-label="..." name="choice" value="f2">
  </div>
</div>

我不知道该怎么做,因为无法操作选择类型中的单选按钮链接不同的字段。或者我可以吗?

【问题讨论】:

    标签: twitter-bootstrap twig symfony


    【解决方案1】:

    使用两个字段(文本字段 + 您的选择字段)构建您的 Symfony 表单类。

    $builder->add('choiceField', ChoiceType::class, array(
        'choices'  => [your choices]
        'expanded' => true,
        'multiple' => false
    ));
    $builder->add('textField')
    

    在您的模板中,您需要拆分choiceField 字段的呈现。您可以:

    1. 像您在示例中一样使用直接 HTML,确保使用 Symfony 表单系统所期望的 name 属性以确保验证有效
    2. 在适当的地方使用 Symfony 表单渲染,如下所示:

      {{ form_widget(form.choiceField[0]) }}
      {{ form_widget(form.textField) }}
      {{ form_widget(form.choiceField[1]) }}
      

    方法 2 是首选方法,因为它会处理表单重新填充。

    【讨论】:

    • 好吧,我必须说,这恰到好处,我不知道我可以如此轻松地分离选择字段。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多