在Symfony 2.0中选择optgroup

Jea*_*ean 20 php forms html-select optgroup symfony

Symfony2中,selecthtml组件呈现为一个ChoiceType对象,实际上也用于checkboxesradiobuttons.

有人真的知道如何使用Symfony2中的optgroup选项呈现选择吗?

为了完整起见,我在这里报告了一个带有optgroup标签的选择示例(来自w3cschools的示例):

<select>
  <optgroup label="Swedish Cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
  </optgroup>
  <optgroup label="German Cars">
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
  </optgroup>
</select> 
Run Code Online (Sandbox Code Playgroud)

此外,请注意,有一个类似的帖子在这里,但答案是没有说服力的.

Car*_*dos 35

做这个:

$car_choices = array(
    'Swedish Cars' => array(
        'volvo' => 'Volvo',
        'saab' => 'Saab',
    ),
    'German Cars' => array(
        'mercedes' => 'Mercedes',
        'audi' => 'Audi'
    )
);

$form = $this->createFormBuilder()
        ->add('car', 'choice', array(
            'label' => 'Choose your car',
            'choices' => $car_choices,
            ))
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

适用于Symfony 2.0.x.


Syl*_*ain 16

这取决于您的实体的定义方式以及您对实体进行分组的方式.假设在给定对象中的参数的情况下完成分组,让我们说"品牌".你可以做:

$builder->add('cars', null, array(
  'group_by'=> 'brand'
));
Run Code Online (Sandbox Code Playgroud)