如何在 Symfony 中自定义 select 标签的 "multiple" 属性

How to customize the "multiple" attribute of a select tag in Symfony

我正在使用 Symfony 4 和 Virtual Select,“一个 javascript 带虚拟滚动的下拉插件”。

默认情况下,当 Symfony 呈现多个 select 时,HTML 代码如下所示:

<select multiple="multiple">

然而,Virtual Select 似乎非常挑剔,并且只有在 multiple 属性没有值时才会正确运行,如下所示:

<select multiple>

(据我所知,这是“官方”语法,例如 Mozilla 没有提到 multiple="multiple"。)

有没有办法强制 Symfony 使用第二种语法而不是第一种语法?

我想到了一些行不通的解决方法:

最后我在javascript中使用了一个解决方法:

document.getElementById('select#whatever').setAttribute('multiple','');

这似乎满足虚拟Select。

(然后我不得不为 Virtual Select 和 Symfony 之间的其他问题积累更多解决方法。总而言之,您可能应该避免同时使用这两者。)