在 Symfony2 中,select
html组件呈现为ChoiceType
对象,确实也用于checkboxes
和radiobuttons
。
某人确实知道如何使用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>
此外,请注意有一个类似的帖子here,但答案并不令人信服。
答案 0 :(得分: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();
适用于Symfony 2.0.x
答案 1 :(得分:16)
这取决于您的实体的定义方式以及您对实体进行分组的方式。假设在给定对象中的参数的情况下完成分组,让我们说“品牌”。你可以这样做:
$builder->add('cars', null, array(
'group_by'=> 'brand'
));