Symfony3 - 如何从选择类型中分离单选按钮

时间:2016-12-07 14:48:15

标签: twitter-bootstrap twig symfony

我想创建一个带有单选按钮(输入组)的文本字段和该字段上方的单个单选按钮。我希望链接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>

我不知道如何做到这一点,因为选择类型中的单选按钮无法被操纵链接不同的字段。或者我可以吗?

1 个答案:

答案 0 :(得分: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]) }}
    
  3. 方法2是首选方法,因为它将处理形式重新填充。