1

表头将根据动态 ajax 更新而改变。这样做时使用:

$('table thead').html(headers);

然后使用以下方法重新初始化表:

$("table").tablesorter({ theme : 'blue', sortList: [[2,1],[0,0]] });

从标题中删除了排序功能。如何更新标头并重新初始化它以便正确处理这些标头?

4

1 回答 1

1

我认为在您的情况下,您可能需要在重新初始化之前销毁 tablesorter 的实例:

// initialisation
var initOptions = {
  theme: 'blue',
  sortList: [[2,1],[0,0]]
};
$("table").tablesorter(initOptions);

然后在ajax更新后,使用:

// Remove tablesorter and all classes
$("table").trigger("destroy", [false, function(){
  // callback after the destroy method
  $('table thead').html('<tr>' + headers + '</tr>');
  $("table").tablesorter(initOptions);
}]);

在这个例子中,确保initOptions变量与初始化代码在同一个闭包中,或者只是复制它;)

于 2013-03-20T13:29:50.843 回答