【问题标题】:Add button in sonata admin clear jQuery on sonata_type_collection : sonata-collection-item-added在奏鸣曲管理员中添加按钮清除 jQuery on sonata_type_collection :sonata-collection-item-added
【发布时间】:2013-07-30 23:16:06
【问题描述】:

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

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

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

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

编辑:

没有办法使用这个技巧:

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

Source

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

有人可以帮忙吗?

谢谢!

【问题讨论】:

    标签: jquery json symfony autocomplete sonata-admin


    【解决方案1】:

    我遇到了同样的问题。

    我已经用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) }}
    

    【讨论】:

    • 感谢您的回答!我尝试使用genemuFormBundle,但它似乎不起作用......奏鸣曲和genemu有一个特定的模板配置?
    • 嗯,我不确定,但默认情况下,如果正确加载了genemu 包,则该选项应该可用。注意:它在 ajax 弹出窗口中不起作用。加载必要的头文件或与其他 jquery 库发生冲突时似乎存在问题。
    • 见我上面的更新。您必须在主布局树枝文件中添加 {{ form_stylesheet(form) }} 和 {{ form_javascript(form) }}。
    • 谢谢,但我不知道为什么它对我不起作用...我尝试实现选择的 jquery 库,但我不知道如何绑定:奏鸣曲-collection-item-添加。有什么想法吗?
    • 对不起,没有任何代码很难回答。但是在您在文本字段中输入一些文本后,genemu 包是否已加载并可见。尝试在其他领域进行测试,看看它是否正常工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2015-04-20
    • 2018-04-30
    • 2018-03-22
    相关资源
    最近更新 更多