Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Symfony2中使用GenemuFormBundle_Jquery_Jquery Ui_Symfony_Jquery Select2 - Fatal编程技术网

Jquery 在Symfony2中使用GenemuFormBundle

Jquery 在Symfony2中使用GenemuFormBundle,jquery,jquery-ui,symfony,jquery-select2,Jquery,Jquery Ui,Symfony,Jquery Select2,我正在尝试在我的Symfony2应用程序中使用que GenemuFormBundle。我按照以下链接中的步骤操作: 之后,它似乎安装正确。该网站的底部写着: 您使用GenemuFormBundle,发现它不起作用!也许您忘记了form_javascript或form_样式表 原则是分离javascript、样式表和html。这样可以更好地集成网页 查看模板示例表单视图: 我将该代码复制到呈现表单的模板中。然后我下载了jquery、jquery ui和jquery tokeninput,这两

我正在尝试在我的Symfony2应用程序中使用que GenemuFormBundle。我按照以下链接中的步骤操作:

之后,它似乎安装正确。该网站的底部写着:

您使用GenemuFormBundle,发现它不起作用!也许您忘记了form_javascript或form_样式表

原则是分离javascript、样式表和html。这样可以更好地集成网页

查看模板示例表单视图:

我将该代码复制到呈现表单的模板中。然后我下载了jquery、jquery ui和jquery tokeninput,这两个文件都是js和css文件,因为它们似乎是实现Select2功能所需的文件,我将它们放在各自的文件夹中,并正确加载(至少Symfony2没有抱怨找不到它们)

我还使用genemu_jqueryselect2_选项(而不是默认选项)将以下代码放入实体中:

->add('listofitems', 'genemu_jqueryselect2_choice',
    array('choices' => array('item1' => 'item1',
                             'item2' => 'item2',
                             'item3' => 'item3'),
          'required'  => false ))
表单加载并正常工作,但我没有得到这样的选择框


但是我得到的是老式的选择框。如果使用genemu_jqueryyautompleter_entity选项,自动完成功能也不起作用。我做错了什么?

也有同样的问题

通过以下步骤,它可以工作:

<link href="{{ asset('select2/select2.css') }}" rel="stylesheet">
<script src="{{ asset('js/select2.js') }}"></script>
<script>
$(document).ready(function() {
    $("select").select2();
});
</script>
确保包括select2资产。或者将select2.css和select2.js放在web文件夹中

<script src="{{ asset('js/select2.js') }}" type="text/javascript"></script>

此外,您应该在表单twig文件中添加Select2示例代码,如:

<script>
$(document).ready(function() { 
    $("#el4").val(["AL","AZ"]).select2();
    $("#el4").click(function() { $("#el4").select2(); });
    $("#wait_tags_destroy").click(function() { $("#wait_").select2("destroy"); });
});

</script>

$(文档).ready(函数(){
$(“#el4”).val([“AL”,“AZ]”)。选择2();
$(“#el4”)。单击(函数(){$(“#el4”)。选择2();});
$(“#等待#销毁”)。单击(函数(){$(“#等待#”)。选择2(“销毁”)};
});

至少更改你的分区id名称中的#el4

我发现,正如前面的回答所说,只需加载css和js脚本,并将样式应用于所有选择框,就可以了:

<link href="{{ asset('select2/select2.css') }}" rel="stylesheet">
<script src="{{ asset('js/select2.js') }}"></script>
<script>
$(document).ready(function() {
    $("select").select2();
});
</script>

$(文档).ready(函数(){
$(“选择”).select2();
});
同样重要的是要添加到您的细枝模板中:

{% block stylesheets %}
    {{ form_stylesheet(form) }}
{% endblock %}

{% block javascripts %}
    {{ form_javascript(form) }}
{% endblock %}
最好先在模板中安装并使用Assetic功能,然后执行以下操作:

{%block stylesheets%}
{{parent()}}
{%stylesheets filter='cssrerewrite'output='resources/css/*.css''bundles/fanforfunselect2/select2.css%}
{%endstylesheets%}
{%如果表单已定义%}
{{form_样式表(form)}}
{%endif%}
{%endblock%}
{%block javascripts%}
{{parent()}}
{%javascripts output='resources/js/*.js'@FanforfunSelect2Bundle/resources/public/select2.js%}
{%endjavascripts%}
{%如果表单已定义%}
{{form_javascript(form)}
{%endif%}
{%endblock%}

您是否完成了在应用程序配置中启用它的第一步?如果您的意思是将代码添加到app/config/config.yml,是的。