我正在使用jQuery tableSorter插件。
不幸的是,被排序的表格是动态修改的。当我添加元素后进行排序时,该元素会消失,恢复到tableSorter创建时的状态。
是否有任何办法可以强制tableSorter重新扫描页面,以便这些新元素能够正确排序?
我正在使用jQuery tableSorter插件。
不幸的是,被排序的表格是动态修改的。当我添加元素后进行排序时,该元素会消失,恢复到tableSorter创建时的状态。
是否有任何办法可以强制tableSorter重新扫描页面,以便这些新元素能够正确排序?
我相信你可以使用类似以下代码来触发更新:
$(table).trigger("update")
看起来你是正确的。
$(table).trigger("update"); $(table).trigger("appendCache");
这就是方法。
需要注意的是, tablesorter API 在某个时候发生了变化,因此这些东西也发生了改变,事件绑定也改变了。 我最大的问题是试图弄清楚为什么有些事情有效,而其他事情无效,原因是使用了错误版本的插件,尽管没有明显的区别。
$("#ts").tablesorter().trigger("update");
和 appendCache
同样如此。或者:$table = $("#ts").tablesorter(); $table.trigger("update"); $table.trigger("appendCache");
- Buttle Butkus$(table).trigger("update");
抛出错误。 Uncaught TypeError: Cannot read property 'rows' of undefined
.ajaxStop()
,其中调用了 tablesorter()
。不要在.ready()
中调用 tablesorter。 jQuery(document).ajaxStop(function(){
jQuery("#table_name").tablesorter();
})
完成了工作
$('#tableId').tablesorter().trigger('update');
var tableData = "<thead><tr><th>Name</th><th>Age</th></thead><tbody><tr><td>Izaki</td><td>24</td><tr><tr><td>Serizawa</td><td>25</td></tr>";
$('#tableId').html('tableData');
$('#tableId').tablesorter().trigger('update');