Symfony2 - 将属性/类添加到单选选项

时间:2015-06-15 13:06:14

标签: php forms symfony twig

拥有select字段,如:

$builder->add('foo', new ChoiceType, $this->defaults + [
                'choices'           => [/* some choices as key->value*/],
            ]);

我想为某些选项添加类,因此它呈现如下:

<select>
    <option value="1">foo</option>
    <option value="2">bar</option>
    <option value="3" class="showModal">baz</option>
</select>

如何实现呢?重要的是我想在表单类型中执行此操作,而不是在模板中。

已经描述了类似的问题:here,但它大约是input字段。

1 个答案:

答案 0 :(得分:0)

偶然发现了这个帖子。 您可以使用choice_attr选项,如下所示:

        $builder
            ->add('cours', ChoiceType::class, [
                'choices' => $this->getCours(),
                'required' => true,
                'multiple' => false,
                'expanded' => false,
                'attr' => [
                    'class' => 'select2'
                ],
                'constraints' => [
                    new NotBlank(),
                ],
                'choice_attr' => function($choice, $key, $value) {
                    return ['class' => 'my_class'];
                },
            ])
        ;