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 28 jQuery
Jquery把获取到的input值转换成json
May 15 jQuery
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
jQuery实现评论模块
Aug 19 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中echo,print_r与var_dump区别分析
2014/09/29 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
jQuery的deferred对象使用详解
2011/08/20 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
python中偏函数partial用法实例分析
2015/07/08 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
判断网页编码的方法python版
2016/08/12 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
django中ImageField的使用详解
2020/12/21 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
九月份红领巾广播稿
2014/01/22 职场文书
家电业务员岗位职责
2014/03/10 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
个人融资协议书
2014/10/02 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python
React如何创建组件
2021/06/27 Javascript
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS