当前位置:首页 > 日记 > 正文

jquery dataTable 后台加载数据并分页实例代码

jquery dataTable 后台加载数据并分页实例代码

使用 dataTable后台加载数据并分页。网上版本很多,但很多都是不能用或者不详细的,这里是已经验证过的。

引用 js文件

<script src="static/ace/js/jquery-2.0.3.min.js"></script>
<script src="static/ace/js/jquery.dataTables.min.js"></script> <script src="static/ace/js/jquery.dataTables.bootstrap.js"></script> 

添加一个table 标签,<tbody></tbody> 可以不用,可以动态加载

<table id="sample-table-2" class="table table-striped table-bordered table-hover">     <thead>       <tr>         <th class="center"><label>             <input type="checkbox" class="ace" />             <span class="lbl"></span>           </label>         </th>         <th>名称</th>         <th>apiKey</th>         <th>secretKey</th>         <th><i class="icon-time bigger-110 hidden-480"></i> 创建时间</th>         <th class="hidden-480">Status</th>         <th>操作</th>       </tr>     </thead>    </table>

关键的JS代码:

<script type="text/javascript">   jQuery(function($) {      //初始化table     var oTable1 = $('#sample-table-2')         .dataTable(             {               "bPaginate" : true,//分页工具条显示               //"sPaginationType" : "full_numbers",//分页工具条样式               "bStateSave" : true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态                "bScrollCollapse" : true, //当显示的数据不足以支撑表格的默认的高度               "bLengthChange" : true, //每页显示的记录数               "bFilter" : false, //搜索栏               "bSort" : true, //是否支持排序功能               "bInfo" : true, //显示表格信息               "bAutoWidth" : true, //自适应宽度               "bJQueryUI" : false,//是否开启主题               "bDestroy" : true,               "bProcessing" : true, //开启读取服务器数据时显示正在加载中……特别是大数据量的时候,开启此功能比较好               "bServerSide" : true,//服务器处理分页,默认是false,需要服务器处理,必须true               "sAjaxDataProp" : "aData",//是服务器分页的标志,必须有                "sAjaxSource" : "${basePath}pushEntity/getTableData",//通过ajax实现分页的url路径。                "aoColumns" : [//初始化要显示的列                   {                     "mDataProp" : "id",//获取列数据,跟服务器返回字段一致                     "sClass" : "center",//显示样式                     "mRender" : function(data, type, full) {//返回自定义的样式                       return "<label><input type='checkbox' class='ace' /><span class='lbl'></span></label>"                     }                   },                   {                     "mDataProp" : "appName"                   },                   {                     "mDataProp" : "apiKey"                   },                   {                     "mDataProp" : "secretKey"                   },                   {                     "mDataProp" : "createTime",                     "mRender" : function(data, type, full) {                       return new Date(data)//处理时间显示                       .toLocaleString();                     }                   },                   {                     "mDataProp" : "createTime",                     "mRender" : function(data, type, full) {                       return "<span class='label label-sm label-info arrowed arrowed-righ'>Sold</span>"                     }                   },                   {                     "mDataProp" : "createTime",                     "mRender" : function(data, type, full) {                       return "<div class='visible-md visible-lg hidden-sm hidden-xs action-buttons'><a class='blue' href='#'><i class='icon-zoom-in bigger-130'></i></a><a class='green' href='#'><i class='icon-pencil bigger-130'></i></a><a class='red' href='#'><i class='icon-trash bigger-130'></i></a></div>"                     }                   } ],               "aoColumnDefs" : [ {//用来设置列一些特殊列的属性                 "bSortable" : false,                 "aTargets" : [ 0 ]               //第一列不排序               }, {                 "bSortable" : false,                 "aTargets" : [ 5 ]               }, {                 "bSortable" : false,                 "aTargets" : [ 6 ]               } ],               "oLanguage" : {//语言设置                 "sProcessing" : "处理中...",                 "sLengthMenu" : "显示 _MENU_ 项结果",                 "sZeroRecords" : "没有匹配结果",                 "sInfo" : "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",                 "sInfoEmpty" : "显示第 0 至 0 项结果,共 0 项",                 "sInfoFiltered" : "(由 _MAX_ 项结果过滤)",                 "sInfoPostFix" : "",                 "sSearch" : "搜索:",                 "sUrl" : "",                 "sEmptyTable" : "表中数据为空",                 "sLoadingRecords" : "载入中...",                 "sInfoThousands" : ",",                 "oPaginate" : {                   "sFirst" : "首页",                   "sPrevious" : "上页",                   "sNext" : "下页",                   "sLast" : "末页"                 },                 "oAria" : {                   "sSortAscending" : ": 以升序排列此列",                   "sSortDescending" : ": 以降序排列此列"                 }               }             });      //全选     $('table th input:checkbox').on(         'click',         function() {           var that = this;           $(this).closest('table').find(               'tr > td:first-child input:checkbox').each(               function() {                 this.checked = that.checked;                 $(this).closest('tr').toggleClass('selected');               });          });    }); </script> 

后台代码:

   // 获取前端过来的参数,下面三个参数是 dataTable默认的,不要随便更改     Integer sEcho = Integer.valueOf(params.get("sEcho"));// 记录操作的次数 每次加1     Integer iDisplayStart = Integer.valueOf(params.get("iDisplayStart"));// 起始     Integer iDisplayLength = Integer.valueOf(params.get("iDisplayLength"));// 每页显示的size      Map<String, Object> map = new HashMap<String, Object>();     try {       // 查询数据,分页的话我这边使用的是 PageHelper,这边不介绍了       PagedResult<PushEntity> list = pushEntityService.findByUserId(           pushUser.getId(), iDisplayStart, iDisplayLength);        // 为操作次数加1,必须这样做       int initEcho = sEcho + 1; 
  //返回参数也是固定的       map.put("sEcho", initEcho);       map.put("iTotalRecords", list.getTotal());//数据总条数       map.put("iTotalDisplayRecords", list.getTotal());//显示的条数       map.put("aData", list.getDataList());//数据集合     } catch (Exception e) {       e.printStackTrace();     }      return map; 

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

相关文章

ps怎么设计一款3D立体文字效果?

ps怎么设计一款3D立体文字效果?

3D,文字效果,电脑软件,ps,ps中想要设计立体文字,该怎么设计呢?下面我们就来看看效果图,希望的朋友可以学习一下。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、按CTRL+N新建一个600*600的文档,按SHIFT+…

解析Asp.net Core中使用Session的

解析Asp.net Core中使用Session的

方法,电脑软件,net,Asp,Session,前言2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年。元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Core中引用dll,以往我们引用DLL都是直接引用…

javascript操作cookie

javascript操作cookie

操作,电脑软件,javascript,cookie,前端js cookie的使用cookie的作用:服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已 经登录网站,用户可能会得到提示,…

angular2 ng build部署后base文件

angular2 ng build部署后base文件

文件路径问题,详细,电脑软件,ng,base,最近在学习angular2中遇到了一些问题,问题如下:问题:使用angular-cli搭建的项目,执行ng build后,浏览器打开空白,发现文件的路径不对解决方案: 在package.json文件的scripts中添加命令:"build":"ng build --…

JavaScript之DOM插入更新删除_动力

JavaScript之DOM插入更新删除_动力

删除,学院,节点,动力,电脑软件,JavaScript之DOM插入更新删除,供大家参考,具体内容如下更新拿到一个DOM节点后,我们可以对它进行更新。可以直接修改节点的文本,方法有两种:一种是修改innerHTML属性,这个方式非常强大,不但可以修改一个DOM节点的文本…

ps怎样快速制作一个旋转空调按钮图

ps怎样快速制作一个旋转空调按钮图

空调,快速,按钮图标,电脑软件,ps,ps怎样快速制作一个旋转空调按钮图标?运用PHOTOSHOP软件,可以很简单的制作大家想要的照片,下面和小编一起来看看具体步骤吧。效果图:具体步骤:首先我们来分析一下。不管设计什么的时候,首先都要分析,不是拿着就开…

详谈javascript精度问题与调整

详谈javascript精度问题与调整

调整,精度问题,电脑软件,javascript,一个经典的问题:0.1+0.2==0.3答案是:false因为:0.1+0.2=0.30000000000000004第一次看到这个结果就是无比惊讶,下巴碰到地上,得深入了解下问题出在哪里,该怎么去调整。产生问题的原因在JS中数值类型就只有numbe…

VS2010/VS2013项目创建 ADO.NET连

VS2010/VS2013项目创建 ADO.NET连

项目创建,步骤,连接,详细,电脑软件,本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤)1、打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤)VS2010版本如图:VS2013版本如图:2、非空项…

Angular动态添加、删除输入框并计

Angular动态添加、删除输入框并计

动态添加,删除,计算,输入框,实例代码,Angular动态添加、删除输入框并计算值实例代码摘要: 在学习群中交流时,有人分享了一个动态添加输入框的方法,我在其基础上进行了一些改进这个功能本身并不复杂,但还是要注意,每个ng-model的对象必须是不同…

怎么使用excel的复制公式excel的复

怎么使用excel的复制公式excel的复

方法,拖动,公式,使用方法,电脑软件,  Excel中公式的复制操作有其特殊性,对此小编从以下几个方面出发,给大家介绍一下在不同情况下公式的复制方法,希望对大家有所帮助。excel的复制公式使用方法一:直接复制公式法首先选中要复制公式的单元格或…

关于jQuery.ajax | 的jsonp碰上pos

关于jQuery.ajax | 的jsonp碰上pos

详解,电脑软件,ajax,jQuery,post,前言以前一直以为当$.ajax()的 dataType设置为jsonp时,其method(请求方法)无论怎么设置,都会变成get,直到前两天遇到了一个坑。下面来一起看看详细的介绍:关于跨域请求与jsonp 跨域:由于受到同源策略(协议、域名、…

excel中分列教程

excel中分列教程

教程,电脑软件,excel,  Excel中的分列功能具体该如何运用呢?下面是由小编分享的excel中分列教程,以供大家阅读和学习。excel中分列教程:  分列步骤1:启动Excel2003(其他版本请仿照操作),打开相应的工作表,在B列右侧插入一个空白列,用于保存分…