【问题标题】:Pagination using Ajax in jquery Datatables在 jquery 数据表中使用 Ajax 进行分页
【发布时间】:2014-06-28 14:09:37
【问题描述】:

我正在为我正在处理的页面上的表格使用 dataTables 插件。它基本上是通过 ajax 调用获取行,在这个 ajax 调用中,我发送用户选择的搜索参数和所需的页码。 我需要 Next、Previous、First 和 Last 按钮来触发相同的 ajax 调用,但页码不同,因为后端拦截器取决于页码。

此 api 调用将返回总数。属于这些搜索参数的行(比如 1000)和页面大小(比如 50)的行。

有什么办法,我可以使用数据表来做到这一点?

【问题讨论】:

标签: jquery jquery-plugins


【解决方案1】:

是的,您可以完成此操作,我已在多个站点上完成此操作。关键是使用如下代码正确初始化数据表:

var oTable = "";

$(document).ready(function() {
    oTable = $('#htmltableID').dataTable({
        "sPaginationType": "full_numbers",
        "bServerSide": true,
        "sAjaxSource": "/script-to-accept-request.php",
        "sServerMethod": "POST",
        "iDisplayLength": 50
    });
}

页面加载后,它将向指定的源发送 POST 请求。默认情况下,请求使用 GET 方法,但我选择发布该值。

您可以通过参考http://www.datatables.net/release-datatables/examples/server_side/custom_vars.html添加自定义变量以包含在默认集中

接受请求的服务器端代码必须在页面更改时处理 iDisplayStart 变量。这从 0 开始,然后每页增加 iDisplayLength 值。 Oliver 给出的示例包含一个 PHP 服务器端示例,因此对复习很有帮助。

【讨论】:

    【解决方案2】:

    是的,你可以这样做,

    首先详细看一下here

    然后检查 API 以正确显示您想要的按钮等。

    我在一个非常大的项目中使用相同的插件,它完美无缺。

    我在我的桌子上使用的配置类型如下

    $("#mytable").dataTable({"bJQueryUI": true,"sPaginationType": "full_numbers"}); 
    

    【讨论】:

    • 我不清楚如何使用这个插件通过javascript进行ajax调用。此外,服务器端需要什么才能使其正常工作。
    • 您只需要一个 php 文件来处理您的查询并返回一个 json 编码的结果集。在 datatables 网站上有各种关于它的演示。
    【解决方案3】:

    我在Server-Side Paging with PetaPoco and DataTables上写了一篇博文,并在GitHub上放了一个对应的示例ASP.NET MVC3 in C#解决方案

    我没有看到对您的服务器端语言的引用,但 C# 解决方案说明了服务器端 Json 交互,即从 DataTables 接收 ajax POST、查询数据库以及为 DataTables 格式化 Json 响应以处理响应.

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      试试这个。我相信这对你有用。

      $("#myDataTable").dataTables({
           "bJQueryUI":true,
            "bSort":false,
            "bPaginate":true, // Pagination True 
            "sPaginationType":"full_numbers", // And its type.
             "iDisplayLength": 10
      });
      

      【讨论】:

      • 阅读海报问题。你的答案与他的要求相差甚远。
      猜你喜欢
      • 2012-06-22
      • 1970-01-01
      • 2015-12-03
      • 2011-06-18
      • 2011-06-04
      • 2016-01-28
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多