1

我有一个使用 pjax (pjax.heroku.com/) 的 Rails 应用程序,因此我的标题和导航栏永远不会重新加载。这一切都很好,花花公子和工作,但在我的一个观点中,我正在使用数据表(datatables.net)。当您第一次加载页面时,数据表运行良好,但如果您导航到另一个页面然后返回,该表不会“重新启动”,因此它不起作用,一切看起来都像废话。显然这是因为数据表js文件由于pjax而没有再次加载。

这是我所拥有的:

application.js

//= require jquery
//= require jquery_ujs
//= require pjax
//= require_tree .

application.html.erb我的头上:

<%= javascript_include_tag "application" %>

<%=然后将产量包装%>在一个 div 中data-pjax-container

我在表格index.html.erb下方(硬编码)中调用 data-tables js 文件:

<script type="text/javascript" src="/data-table.js"></script>

然后在一个单独的custom.js文件中,这是启动表的内容:

$(document).pjax('a[data-pjax]');
$('.openinside').pjax('.sidebarInner');

知道这里发生了什么吗?我认为该表没有被重新启动,但是当由于 Pjax 每次都没有加载标头时,如何让它重新启动?我什至尝试将 JS 链接放在桌子下方,但没有成功!

4

1 回答 1

1

不确定这是否有帮助(因为这个问题是从一个月前开始的),但我在一条类似的船上。我有一个 pjax 数据表,它在我的页面咖啡脚本文件中加载。

所以我在pjax:end上调用负载,它确实有效,但我现在正在寻找一种加载方法,如果它被正常调用(所以要么文档完整,要么在 pjax:end 上)。

$(document).on "pjax:end", ->
  $("#leads_table").dataTable({bJQueryUI: true, sPaginationType: "full_numbers", bRetrieve: true})

也许这有帮助(或帮助其他人)。

于 2012-12-13T17:17:45.717 回答