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

问题描述 投票:1回答:1

具有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字段。

php forms symfony twig
1个回答
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'];
                },
            ])
        ;
© www.soinside.com 2019 - 2024. All rights reserved.