我的网站有一些脚本。 第一个脚本是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一起放置一些吗?
提前致谢!
答案 0 :(得分:2)
您正在使用异步的AJAX,因此您在创建表之前尝试应用footable
插件。
您需要在renderTable
函数中调用插件,或者在parseResults
函数
编辑:此外,还有一个setTimeout
被调用来管理renderTable
内的表格html。插件需要在同一setTimout