具有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
字段。
偶然发现了这篇文章。您可以使用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'];
},
])
;