0

我的网站有一些脚本。第一个脚本是 csv 到 json 脚本。接下来是“结果”脚本。这会从 json 中提取信息并创建一个无序列表的复选框,并创建一个包含这些结果的表格。无序列表允许过滤表以显示某些结果。

它工作得很好,但现在我正在尝试将 Footable ( http://themergency.com/footable/ ) 合并到表格中,因此由于表格有很多列,它是响应式的。

我在html头中的脚本顺序如下:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/assets/js/library/04-csvtojson.js"></script>/
<script type="text/javascript" src="/assets/js/results.js"></script>
<script src="/assets/js/footable-0.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  $('table').footable();
});
</script>

有了这个,我假设js会按这个顺序触发。但Footable部分没有。我相信这可能是因为创建此表的 results.js。

这是 results.js 的馅饼:http: //pastie.org/6197248

它创建了哪些元素是可过滤的,为 Footable 添加了必要的属性并创建了表格。

查看页面,一切正常,但 Footable 部分似乎不起作用并隐藏了我想要的部分表格。

奇怪的是,当我打开 Firebug 并将上面函数中的 'table' 更改为 '#data' 表的 id 和结果时,它会触发 Footable 代码并因此隐藏元素。

有没有办法强迫这种情况发生?
这是否需要以某种方式与 results.js 一起放置?

提前致谢!

4

1 回答 1

2

您正在使用异步的 AJAX,因此您尝试footable在创建表之前应用插件。

您需要在函数中调用插件,或者在函数renderTable中调用插件parseResults

编辑:此外,还有一个setTimeout被调用来管理在renderTable. 插件需要在同一个内初始化setTimout

于 2013-02-16T19:21:57.473 回答