jquery DataTable实现前后台动态分页


Posted in jQuery onJune 17, 2017

整理文档,搜刮出一个jquery DataTable实现前后台动态分页,稍微整理精简一下做下分享。

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>测试页面</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css" rel="external nofollow" rel="stylesheet">
  <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.css" rel="external nofollow" rel="stylesheet">
  <link href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap4.min.css" rel="external nofollow" rel="stylesheet">


</head>
<body>
<div style="width:50%;height:500px;margin:150px auto ;background-color: #f4cccc">
<table id="example" class="display" cellspacing="0" width="100%">
  <thead>
  <tr>
    <th>Name</th>
    <th>Cellphone</th>
    <th>Position</th>
    <th>Company</th>
    <th>Salary</th>
  </tr>
  </thead>
  <tbody>

  </tbody>
</table>
</div>

<script type="text/javascript" src="//code.jquery.com/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src=" //cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    refreshDataTable();
  });

 var refreshDataTable=function() {
   var table = $('#example').DataTable({
     //"ajax":"data/tabledata.json",
    // "iDisplayLength": 3,
     "sPaginationType": "full_numbers",
     "bPaginite": true,
     "bInfo": true,
     "bSort": true,
     "processing": false,
     "serverSide": true,
     "sAjaxSource": "customize/datatable.php",//这个是请求的地址
     "fnServerData": retrieveData

   });
   function retrieveData(url, aoData, fnCallback) {
     var data={"data":{"id":"123123","name":"2s",}};
     $.ajax({
       url: url,//这个就是请求地址对应sAjaxSource
       data : {
         "aoData" : JSON.stringify(aoData)
       },
       type: 'POST',
       dataType: 'json',
       async: false,
       success: function (result) {

         //var obj=JSON.parse(result);
         console.log(result);
         fnCallback(result);//把返回的数据传给这个方法就可以了,datatable会自动绑定数据的
       },
       error:function(XMLHttpRequest, textStatus, errorThrown) {

         alert("status:"+XMLHttpRequest.status+",readyState:"+XMLHttpRequest.readyState+",textStatus:"+textStatus);

       }
     });
   }
 };
</script>
</body>
</html>

PHP代码:

<?php
header('Content-type: text/json');
  $res = $_POST['aoData'];
 $sEcho = 0;
 $iDisplayStart = 0; // 起始索引
 $iDisplayLength = 0;//分页长度
 $jsonarray= json_decode($res) ;
  foreach($jsonarray as $value){ 
  if($value->name=="sEcho"){
    $sEcho=$value->value;
  }
  if($value->name=="iDisplayStart"){
    $iDisplayStart=$value->value;
  }
  if($value->name=="iDisplayLength"){
    $iDisplayLength=$value->value;
  }
  }  
  $Array = Array(); 
   //此处生成50条数据,模仿数据库数据
  for ($i = 1; $i < 51; $i++) {
    $d = array($i,$i,$i,$i,$i);
    Array_push($Array, $d);
  }

   $json_data = array ('sEcho'=>$sEcho,'iTotalRecords'=>50,'iTotalDisplayRecords'=>50,'aaData'=>array_slice($Array,$iDisplayStart,$iDisplayLength)); //按照datatable的当前页和每页长度返回json数据
  $obj=json_encode($json_data);
  echo $obj; 

?>

效果图:

jquery DataTable实现前后台动态分页 

jquery DataTable实现前后台动态分页

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
jQuery实现frame之间互通的方法
Jun 26 jQuery
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
jQuery实现日历效果
Sep 11 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 #jQuery
jQuery 控制文本框自动缩小字体填充
Jun 16 #jQuery
jQuery序列化后的表单值转换成Json
Jun 16 #jQuery
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 #jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 #jQuery
jQuery实现 RadioButton做必选校验功能
Jun 15 #jQuery
jQuery ajax动态生成table功能示例
Jun 14 #jQuery
You might like
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
php UBB 解析实现代码
2011/11/27 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php检测文本的编码
2015/07/26 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
js模拟实现Array的sort方法
2007/12/11 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python可迭代对象去重实例
2020/05/15 Python
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
自荐信的五个重要部分
2013/10/29 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
2014和解协议书范文
2014/09/15 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书