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 EasyUI之验证框validatebox实例详解
Apr 10 jQuery
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
jquery简单实现纵向的无缝滚动代码实例
Apr 01 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 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
PHP新手上路(九)
2006/10/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python使用django搭建web开发环境
2017/06/09 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
python 不以科学计数法输出的方法
2018/07/16 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
急诊科护士自我鉴定
2013/10/14 职场文书
继承公证书格式
2015/01/26 职场文书
寒假生活随笔
2015/08/15 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
MongoDB数据库之添删改查
2022/04/26 MongoDB
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers