symfony2 的高级多 select 框

Advanced multiple select box for symfony2

我正在使用 symfony2

我有 Manytomany 实体并像这样使用多个 select 框。

在php

    ->add('availLangs','entity',array(
            'class' => 'UserBundle:Lang',
            'label' => 'form.availLangs',
            'multiple' => true))

在树枝上

{{ form_widget(form.availLangs) }}

虽然很简单,但是当有很多选择时(比如 10~),情况可能会让用户感到混乱。

所以我正在尝试实现这样的选择框

HTML multiple select box

一些小部件可以轻松地从许多项目中 select 多个项目。

是否有使用 symfony2 或 formbuilder 实现的好的参考资料?

您可以使用 select2 jquery 小部件,它有一个很好的搜索输入,您可以在其中键入所需选项的一些字符,小部件会为您找到它们。 https://select2.github.io/

示例: http://jsfiddle.net/eoaa2wqw/

在 symfony2 中,只需通过构建器或 twig

添加 select2 class 到您的输入
->add('availLangs','entity',array(
            'class' => 'UserBundle:Lang',
            'label' => 'form.availLangs',
            'attr'=> array('class'=> 'select2') <-- here 
            'multiple' => true))

然后激活 select2:

$('.select2').select2(// options maybe ) ;