嗨我有一个动态表填充(通过php和jquery),但tablesorter不起作用 脚本初始化在页面末尾
<!-- JavaScript -->
<script src="js/bootstrap.js"></script>
<!-- Page Specific Plugins -->
<script src="js/tablesorter/jquery.tablesorter.js"></script>
<script src="js/tablesorter/tables.js"></script>
<script>
function dynamicRefresh()
{
//generic
$(".pm-count").load("php-scripts/dynamic/pm-system/countU.php");
$(".pm-ddmenu").load("php-scripts/dynamic/pm-system/menu.php");
$(".com-count").load("php-scripts/dynamic/com-system/countU.php");
$(".com-ddmenu").load("php-scripts/dynamic/com-system/menu.php");
//Page Specific
var lpage = page - 1;
$("#new_msg").load("php-scripts/data/setlist/table.php", {'page':lpage});
//Refresh Rate
setTimeout("dynamicRefresh()",60000);
}
window.onload=dynamicRefresh;
</script>
表格代码
<table class="table table-hover table-striped tablesorter">
<thead>
<tr>
<th>Ordem # <i class="fa fa-sort"></i></th>
<th>Nome <i class="fa fa-sort"></i></th>
<th>Banda <i class="fa fa-sort"></i></th>
<th>Original/Cover <i class="fa fa-sort"></i></th>
<th>Acção <i class="fa fa-sort"></i></th>
</tr>
</thead>
<tbody id="new_msg">
</tbody>
</table>
当表填充数据时,我只点击对表进行排序我知道如果表没有数据,则会发生此错误。 可以因为插件初始化吗? 该插件的加载速度比表数据快。
更新#1
仔细查看调试控制台后,我看到了这个
Built headers:,1ms jquery.tablesorter.js:147
[th.header, th.header, th.header, th.header, th.header, prevObject: x.fn.x.init[1], context: table.table.table-hover.table-striped.tablesorter, selector: "thead th", jquery: "1.10.2", constructor: function…]
我认为可以安全地假设,当插件初始化时,它会构建标头,但也会加载数据以加快排序,如果这是正确的,是否有“更新”初始化过程的功能?
更新2
在阅读了一些之后,我发现我只需要添加一个触发器 在这种情况下
$('.tablesorter').trigger('update');
现在工作正常