我目前正在尝试在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>
谢谢! 丹娘
答案 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/