在动态加载表的表排序上遇到问题

时间:2013-02-20 06:57:25

标签: tablesorter

我正在使用ajax动态加载表行,并且当用户点击加载更多按钮时,我有一个名为load more的按钮。在tbody中添加了更多的事务。表排序在第一次加载时工作正常但是点击加载更多按钮现在我在tbody中有30个事务,我的表排序仅用于降序。但我希望它按升序和降序排序。但再次点击loadmore按钮,每件事情都很好。任何人都可以告诉我我的代码有什么问题。 任何帮助将提前感谢。

<table class="tablesorter list-table" id='AllPaymentTable'> 

</table> 

<script>
var thead = $("<thead/>").appendTo('#AllPaymentTable');
var PaymentHeader= responseData.data.payment_header_object;
$("<tr/>")
  .append("<th class='name'>" +PaymentHeader[i] + "</th>" )
  .appendTo(thead);

var tbody = $("<tbody/>").appendTo('#AllPaymentTable');

var payActivitydetails = responseData.data.payment_data_object;

for (var i = 0; i < payActivitydetails.length; i++) {
  var payDetails = payActivitydetails[i];
  $("<tr class='recentPaymentrow'  id="+payDetails.payment_id +"/>")
  .append("<td class='name'>" + payDetails.customer_name  + "</td>")
  .appendTo(tbody);
  $(".tablesorter").tablesorter();
}

$('#loadmorebtn').bind('click',function(event){
  event.preventDefault();
  event.stopPropagation();
  // ajax call goes here
  //Recents payment populating on screen starts here
  var payActivitydetails = responseData.data.payment_data_object;
  for (var i = 0; i < payActivitydetails.length; i++) {
    var payDetails = payActivitydetails[i];
    $("<tr class='recentPaymentrow'  id="+payDetails.payment_id +"/>")
      .append("<td class='name'>" + payDetails.customer_name  + "</td>")
      .appendTo('tbody')
    $(".tablesorter").tablesorter();
  }
</script>

1 个答案:

答案 0 :(得分:0)

一旦您初始化了tablesorter,您就不应该再次初始化它。相反,使用update方法让tablesorter识别表中的更改:

$("<tr class='recentPaymentrow'  id="+payDetails.payment_id +"/>")
  .append("<td class='name'>" + payDetails.customer_name  + "</td>")
  .appendTo('tbody')
  .trigger('update'); // update method (bubbles up to table)