我遇到了同样的问题,但设置不同,这个帖子中提到的答案没有解决我的问题。为我的方案添加解决方案,以防其他人遇到同样的问题。
我的表体行是在页面加载时从.ajax调用动态创建的,并且一列被设置为默认sortList,以在加载数据后进行排序。
根据提交新的日期范围重新填充10列中的5列。我不重建表体,而是将数据注入适当的记录,然后根据我的默认sortList求助。
我的问题是,在提交新的日期范围后,现在在标题中定义了两次tablesorter,因此单击标题会排序两次,只显示单向排序。
我的解决方案是防止tablesorter标头被初始化两次。在页面加载时,我让tablesorter对我在我设置的sortList属性中设置的一列进行排序,但是每个新的日期范围都被提交,我使用以下行来在数据加载后对我的列进行排序:
$('#mytableBody').trigger("update");
var sorting = [[5, 1]];
setTimeout(function () {$('#mytableBody').trigger('sorton', [sorting]) }, 1);
我使用setTimeout确保数据在排序之前已完全加载。
希望这有帮助。