【问题标题】:Jquery dataTables and tablesorter togetherjQuery dataTables 和 tablesorter 在一起
【发布时间】:2011-06-07 16:52:57
【问题描述】:

我需要对表中显示的数据进行分页并通过 ajax 调用获取它 - 我通过使用具有以下配置的 dataTables 插件来完成 -

bServerSide : true;
sAjaxSource : <ajax_source>
bPaginate : true,
bSort:false,
bFilter:false

我还需要对这个数据客户端进行排序,即仅在当前页面上而不是整个集合上 (See this)。为此,我使用以下代码尝试了tablesorter 插件-

 "fnServerData": function(sSource, aoData, fnCallback){
                    $.ajax({
                        "dataType": "json",
                        "contentType": "application/json",
                        "type" : "GET",
                        "url" : sSource,
                        "data" : aoData,
                        "success" : function (jsonData){
                            fnCallback(jsonData);
                            $("#companies").tablesorter();
                        }
                    });
               }

但令我惊讶的是,即使第一页上的排序工作正常,只要我转到后续页面,只要我单击列标题,它就会开始将前一页上的所有行显示为好吧,这是不可取的。

谁能解释一下,这里可能出了什么问题。

编辑: $("#companies").trigger("update"); 成功了

【问题讨论】:

  • 您在第二页上排序时获得的行数是原来的两倍?
  • 是的,不应该这样,因为表格是分页的,第二页的行数只能在排序时考虑。
  • 这令人费解。我在这里看到了很多项目>>>,它们似乎是相关的问题,可能会帮助你解决这个问题。
  • $("#companies").trigger("update");成功了
  • 太棒了!我编辑了您的问题以包含您的解决方案,以便人们看到它。编辑您的问题是您将来完全可以接受的。

标签: jquery tablesorter datatables


【解决方案1】:

它适用于以下更改 - 将 tablesorter 初始化出来

 $("#companies").tablesorter();

并在每次 ajax 调用后触发更新。

"success" : function (jsonData) {
    fnCallback(jsonData);
    $("#companies").trigger("update");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    相关资源
    最近更新 更多