在动态修改的表上使用jQuery tableSorter

我在页面上使用jQuery tableSorter插件。

不幸的是,正在排序的表是动态修改的,当我在添加元素后排序时,元素消失,将表恢复到创建tableSorter时的状态。

有什么方法可以强制tableSorter重新扫描页面,以便这些新元素正确排序?

我相信您可以使用以下内容触发更新:

$(table).trigger("update") 

看来你是对的。

 $(表).trigger( “更新”);
 $(表).trigger( “appendCache”);

诀窍。

作为一个注释,tablesorter API在某些时候发生了变化,因此这些事情发生了变化,以及事件绑定。 我最大的困难是试图弄清楚为什么有些东西有效,有些则没有,这是因为插件的版本错误,尽管没有明显的区别。

$(table).trigger("update"); 抛出错误

  Uncaught TypeError: Cannot read property 'rows' of undefined 

因此,有一个jquery函数.ajaxStop() ,其中调用tablesorter() 。 不要在.ready()调用tablesorter

  jQuery(document).ajaxStop(function(){ jQuery("#table_name").tablesorter(); }) 

做了这个工作

对于像我这样面临排序动态生成表问题的新手,这里是解决方案。 之前给出的答案是正确的,但是你在哪里放置这个命令?

 $('#tableId').tablesorter().trigger('update'); 

您需要在将数据附加到表格后立即放置它。 在我的情况下

 var tableData = "NameAgeIzaki24Serizawa25"; $('#tableId').html('tableData'); $('#tableId').tablesorter().trigger('update');