如何在TWIG中使用JQuery(symfony2)

时间:2013-07-17 13:19:48

标签: jquery symfony datatables twig

我目前正在尝试在TWIG中使用JQuery。我的网站是使用Symfony2创建的。我目前在TWIG中有一个表(它可以工作 - 见下文),我想利用它来使我的表列可以排序。

<table><tr><th>cat</th> <th>dog</th> <th>fish</th> </tr> {% for result in results %}<tr><td>{{result.cat_name}}</td><td>{% for dog in result.dogs %} {{dog.dog_name}}{% endfor %} </td> <td>{% if result.fishs is defined %} {% for fish in result.fishs %}
{{fish.fish_uri}}
  {% endfor %} {% endif %} </td></tr>{% endfor %}

我想使用DataTables(请参阅here)以便从我的表中获取所需的功能。有一个包(见here),它是为了允许在TWIG中使用DataTable而创建的。捆绑包已成功安装(web / bundles / uamdatatables /)。

导致我不确定性的原因(因为bundle没有使用说明)是我试图使捆绑工作(使我的表具有DataTables提供的功能),但我的表保持不变(没有错误消息) )。

想知道是否有人可以告诉我我做错了什么?我之前从未使用过JQuery,也是Symfony的新手。我是否需要某种“包含”声明(以获取js文件)?

// view.html.twig

<table><table id="table_id" class="display"><thead> {% block stylesheets %}
<link href="{{ asset('/bundles/uamdatatables/css/jquery.dataTables.css') }}" rel="stylesheet" />
<script type="text/javascript" charset="utf-8" src="/bundles/uamdatatables/css/jquery.dataTables.css"></script>
    {% endblock %}<tr><th>cat</th> <th>dog</th> <th>fishs</th> </tr></thead> <tbody><?php $(document).ready( function () {
$('#table_id').dataTable();} );?>{% block javascripts %}
        <script src="{{ asset('/bundles/uamdatatables/js/jquery.dataTables.js') }}"></script>
    {% endblock %}{% for result in results %}<tr><td>{{ result.cat_name}}</td><td>{% for dog in result.dogs %}{{dog.dog_name}}{% endfor %}</td><td>{% if result.fishs is defined %} {% for fish in result.fishs %}{{fish.fish_uri}}{% endfor %}{% endif %}</td></tr>{% endfor %}</tbody> </table>

谢谢! 丹娘

1 个答案:

答案 0 :(得分:4)

是的,在您的javascripts块中,您必须包含jQuery文件。一个例子:

{% block javascripts %}
    <script type="text/javascript" src="{{ asset('bundles/uamdatatables/js/jquery.min.js') }}"></script>
{% endblock %}

注意不要覆盖继承的javascripts,也许你必须将{{ parent() }}添加到{% block javascripts %}

修改

如果您还没有jQuery文件,可以从官方网站下载:http://jquery.com/