JQuery表格插件
http://www.datatables.club/example/#styling
Datatables快速入门开发--一款好用的JQuery表格插件
博主是一个java后端程序员,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jquery表格插件,上手很快,重点是超级好用,有完善的中文文档,今天有空,整理一下Datatable的一些使用方法及注意事项,以便随时查阅.
DataTables支持的功能:
1.分页,只需要返回符合规范的数据类型,Datatable能帮我们实现好用的分页,同时支持排序,和即时搜索.
2.丰富的数据源的支持
3,支持国际化,支持多种主题.
快速使用
1.使用Datatables非常简单,只需要引入一个css样式文件和一个js脚本文件,即可,官网提供了文件的cdn地址可直接引用.
CSS: //cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css
JS: //cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js
2.js中,使用一下简单的几行代码,就能初始化datatables风格的表格样式,并使用Datatable提供的丰富功能.
- 1 $(document).ready(function(){
- 2 $('#myTable').DataTable();
- 3 });
html页面中的table标签定义一个id,比如id="myTable".
丰富配置项
以上就可以实现基本风格的datatables样式,datatables默认情况下已启用一些功能,比如搜索,排序,分页,要想更加自由的控制样式,我们需要更详细的配置.
DOM定位
dom定位可以实现你自由的布局 分页,搜索框等等这些组件,以下是一些组件以及字符缩写.
- l - Length changing 每页显示多少条数据选项
- f - Filtering input 搜索框
- t - The Table 表格
- i - Information 表格信息
- p - Pagination 分页按钮
- r - pRocessing 加载等待显示信息
如果我们使用下面的代码来控制样式,表示 i显示在top(顶部),flp显示在bottom(底部).这样就可以自定义组件位置了.
- $('#example').dataTable( {
- "dom": '<"top"i>rt<"bottom"flp><"clear">'
- } );
国际化配置
datatables使用的语言选项可以通过language来配置,语言配置作为初始化配置的一部分,可以通过一下配置来自定义页面各个地方的显示文本.

- $('#example').DataTable({
- language: {
- "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里展示数据,为了能够展示所有的数据,就要限制宽度,或高度,使用垂直或水平滚动条,在Datatable中使用如下配置:

- $(document).ready(function() {
- $('#example').dataTable( {
- //开启水平滚动条
- "scrollX": true
- //设置固定高度为200px 数据量溢出时出现滚动条
- "scrollY": "200px",
- "scrollCollapse": "true",
- //不启用分页(展示所有)
- "paging": "false"
- } );
- } );

其他配置功能:

- $(document).ready(function() {
- $('#example').dataTable( {
- //禁用分页
- "paging": false,
- //禁用排序
- "ordering": false,
- //禁用本地搜索
- "searching":false,
- //开启选择每页显示多少记录的下拉框 如果pageing配置为false,此配置会自动置为false
- "lengthChange":true,
- //是否显示正在处理的状态。开启后在数据加载过程中,会有正在加载状态
- "processing": "true"
- //是否显示正在处理的状态。开启后在数据加载过程中,会有正在加载状态,在处理耗时数据时比较有用
- "processing": "true"
- //开启延迟渲染,假设加载1000条数到表格.每页显示10条,开启后datatables只会创建10个节点,即根据分页的生命周期来创建行
- "deferRender": true
- //禁用自动列宽的计算,如果以自定义列宽,建议禁用,因为此操作会耗费一些额外时间计算列宽
- "autoWidth": false,
- //禁用状态保存 开启后再次加载页面表格状态会被设成之前的状态
- "stateSave" : false,
- } );
- } );

数据源
这里主要讲解ajax获取对象数据

- $(document).ready(function() {
- $('#example').DataTable( {
- //ajax可以接收string,object,fucntion
- "ajax": {
- //type url 不需多说
- "type": "POST",
- "url":$('#game_detail_data').attr("data-url"),
- //从服务器获得json数据,使用dataSrc属性把data改为aodata
- "dataSrc": "aoData",
- //请求参数,添加额外的参数发送到服务器 接受一个fucntion
- "data":function(d){
- d.pageType='DETAIL';
- d.channelName=$("#channelname").val().trim();
- d.tag=$("#tag").val();
- d.startTime=$("#startTime").val();
- d.endTime=$("#endTime").val();
- }
- },
- //返回数据是对象列表的时候需要使用如下方式与列名一一对应好
- "columns": [
- { "data": "name" },
- { "data": "age" },
- { "data": "sex",
- //渲染数据显示在表格中,render可以让你在table显示非常多样化的格式
- "render" : function(data, type, full, meta) {
- if(data=='boy'){
- data ="男";
- }else{
- data ="女";
- }
- return data;
- }},
- },
- { "data": "phone" },
- { "data": "address" },
- { "data": "salary" }
- ]
- } );
- } );

回调函数
datatable支持在数据初始化的各个时机进行一些自定义操作,下面说两个比较常用的:

- $('#example').dataTable( {
- //数据初始化表格绘制成功后调用此函数
- "initComplete": function() {
- alert( '初始化以后调用' );
- }
- //每次表格重绘的时候都调用这个函数
- "drawCallback": function( settings ) {
- alert( '每次表格重绘时调用' );
- }
- } );

参考文档
JQuery表格插件的更多相关文章
- 25款顶级的jQuery表格插件
jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...
- 推荐几款jQuery表格插件
平时项目中,会碰到很多表格元素,这里推荐几款jQuery表格插件. Stackable.js 通常在小屏幕上,表格的表形形式不大好,因为用户会缩放平移,或者就是表格太小,导致数据不可见.Stackab ...
- jQuery 表格插件25
jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...
- Datatables快速入门开发--一款好用的JQuery表格插件
博主是一个java后端程序员小白,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jqu ...
- 25个顶级的jQuery表格插件
jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...
- 一款比较强大的jquery表格插件Datatables
Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 链接:http://www.datatables.club/ 本人无聊时发现的一款用 ...
- jquery表格插件Datatables使用、快速上手
Datatables使用 一.简介 官网:https://datatables.net/ 中文官网:http://datatables.club/ Datatables是一款jquery表格插件.它是 ...
- 15 个最佳的 jQuery 表格插件
现如今,网站开发设计的需求会要求自动适应所有移动设备,即响应式网站: 在开发网站时必须考虑对平板设备融合 fluid(流)和自适应性特点. 大多数网站设计要靠margins, guides, rows ...
- 自定义jquery表格插件
以前一直都是再用easyui插件来实现各种功能,但是easyui太过于庞大,使用越多对服务器负载影响越大. 基于此,在模仿easyui的dataGrid表格插件的同时,自己去封装了一个.实现了基本的j ...
随机推荐
- 【刷题】BZOJ 3033 太鼓达人
Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...
- sql server 小技巧(4) Sql server 排序时让空值排在最后
order by coalesce( u.sort, 2147483647) sql server 小技巧 集锦
- bzoj3612 平衡 (dp)
设f[i][j]为把i拆成j个不重复的.大于0小于等于N的数的方案数 我们考虑一个方案是怎么来的:(初始状态是f[0][0]=1) 如果这个方案里有1,那它是先把原来的状态的每个数加1.然后再增加一个 ...
- SQLServer过期的解决方案
看图吧,不喜欢说话,图里面我都打备注了 0SQLService异常 1找到安装中心 2升级版本 3监测ing 4输入升级key 5同意并下一步 6下一步 7下一步 8下一步 9收工 10可以打开了
- Chart Controls 简介与下载
虽然博客园已有人介绍过了,还是忍不住介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」.本帖 ...
- 网络获取json数据并解析
1.升级流程分析
- C#实现物联网系统温度解析的函数(支持补码)
基于物联网协议上传数据,其中温度占两个字节,如01 27,表示温度值为29.7.温度负值为补码(也就是温度值为有符号数),例如0XFFFF值为负1(-0.1度). 针对补码要求,修改数据解析函数如下: ...
- 将网页设置为允许 XMLHttpRequest 跨域访问
在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Java Response.AddHeader("A ...
- HTML5 移动开发(移动设备检测及对HTML5的支持)
1.如何选择要使用的特性以及所面向的浏览器 2.哪些浏览器支持HTML5 3.如何检测是否支持HTML5 4.如何开发贷容错性的Web应用程序 5.CSS3媒体查询如何增强检测脚本 使用HTML5 ...
- 图的最短路径-----------SPFA算法详解(TjuOj2831_Wormholes)
这次整理了一下SPFA算法,首先相比Dijkstra算法,SPFA可以处理带有负权变的图.(个人认为原因是SPFA在进行松弛操作时可以对某一条边重复进行松弛,如果存在负权边,在多次松弛某边时可以更新该 ...