0

我用奏鸣曲管理员在我的表单中实现了自动完成字段。

此表单 (ScheduleAdmin) 包含游戏集合 (GamesAdmin)。

我的问题是我不能使用 jQuery。事实上,当添加新形式的 Games 类型时,我的 jQuery 并没有启动。

但是当我编辑一个有游戏的时间表时,我的自动完成字段有效......只有第一个

编辑 :

没有办法使用这个技巧:

提示:在添加(sonata-collection-item-added)或删除(sonata-collection-item-deleted)行后会触发 jQuery 事件。您可以绑定到这些事件以触发导入模板的自定义 javascript(例如:将日历小部件添加到新添加的日期字段)

资源

我是 JQuery 的菜鸟,我不知道如何绑定这个元素。

有人可以帮忙吗?

谢谢 !

4

1 回答 1

0

我遇到过同样的问题。

我已经用GenumFormBundle修复了它。

使用 composer 安装它,例如:composer.json

{
    "require": {
        "_some_packages": "...",

        "genemu/form-bundle": "2.1.*" => for Symfony 2.1 and 2.2

        "genemu/form-bundle": "2.2.*" => for Symfony 2.3
    }
}

不要忘记将包添加到AppKernel.php并运行资产命令:

$ php app/console assets:install web/

之后,您可以将其用于 Admin 类:

protected function configureFormFields(FormMapper $formMapper)
{      
// ...   
    $formMapper
        ->with('General')
          ->add('sample_choice', 'genemu_jqueryautocompleter_choice', array(
                     'choices' => array(
                        'Choice 1' => 'Choice 1',
                        'Choice 2' => 'Choice 2',
                        'n.a.' => 'Not available'
                    )))

请参阅可用的自动完成字段类型的文档。您也可以选择实体。但请注意,只有数据库条目的 id 会在表单中返回,而不是值!

过滤方式的用法:

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
    // ...
        ->add('customer',  null, array(), 'genemu_jqueryautocompleter_entity')
    // ...

注意:您必须在布局中添加以下行:

{{ form_stylesheet(form) }}
and
{{ form_javascript(form) }}
于 2013-08-05T08:03:24.720 回答