如何强制脚本覆盖另一个?

时间:2013-02-16 19:06:16

标签: jquery json

我的网站有一些脚本。 第一个脚本是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创建了这个表。

以下是对结果的回答.js:http://pastie.org/6197248

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

查看页面后,所有内容都会再次运行,但Footable部分似乎无法正常工作,并隐藏了我想要的表格部分。

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

有没有办法强迫这种情况发生? 这需要与results.js一起放置一些吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

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

之后调用插件

编辑:此外,还有一个setTimeout被调用来管理renderTable内的表格html。插件需要在同一setTimout

内进行初始化