jQuery表格插件datatables用法总结


Posted in Javascript onSeptember 05, 2014

DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。

官方网站及其下载地址:http:/www.datatables.net

当前最新版为1.10.2,读者可点此本站下载。

其主要特点如下:

1.自动分页处理
2.即时表格数据过滤
3.数据排序以及数据类型自动检测
4.自动处理列宽度
5.可通过CSS定制样式
6.支持隐藏列
7.易用
8.可扩展性和灵活性
9.国际化
10.动态创建表格
11.免费的

使用方法:

首先看看如下代码:

<title>DataTables example</title>
<style type="text/css" title="currentStyle">
@import "../../media/css/demo_page.css";
@import "../../media/css/demo_table.css";
@import "../examples_support/themes/smoothness/jquery-ui-1.7.2.custom.css";
</style>
<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
<script type="text/javascript" charset="utf-8">

上述代码中引入js和css文件。可以在demo里复制。注意路径地址。

接着来看看如下代码:

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#example').dataTable( {
"oLanguage": {
"sUrl": "/SSS/dataTables/de_DE.txt"
},
"bStateSave": true,
//"bJQueryUI": true,  //使用jqueryui 。我用的时候显示的不是很好
"sPaginationType": "full_numbers"//分页
} );
} );
</script>

</head>
<body id="dt_example">//此处为body的id

<div id="container" align="center">//*div 里是 table ,table包括thead等,最好按此格式写*
<h1>物品种类管理</h1>
<div id="demo">
<table cellpadding="5" cellspacing="0" border="1" class="display" id="example" align="center">//id 别忘了
<thead>
<tr>
<th>物品编号</th>
<th>物品名称</th>
<th>物品单位</th>
<th>编辑状态</th>
<th>随便</th>
</tr>
</thead>

<tr class="gradeX">//此处可以是gradeA ,gradeX 等,但是gradeB 隔行换色 效果很好
<td>Trident</td>
<td>Internet
Explorer 4.0</td>
<td>Win 95+</td>
<td class="center">4</td>
<td class="center">X</td>
</tr>
<tr class="gradeC">
<td>Trident</td>
<td>Internet
Explorer 5.0</td>
<td>Win 95+</td>
<td class="center">5</td>
<td class="center">C</td>
</tr>
<tr class="gradeA">
<td>Trident</td>
<td>Internet
Explorer 5.5</td>
<td>Win 95+</td>
<td class="center">5.5</td>
<td class="center">A</td>
</tr>
</tbody>
<tfoot>
</tfoot>  
</table>
</div>    
</div>

上面就能创建出如图的效果, 分页。排序。等等。

最后讲讲 各各属性(主要添加的位置)

//$(document).ready(function() {
  //$('#example').dataTable( {//加载
    //"bPaginate": true,//分页按钮
    //"bLengthChange": true,//每行显示记录数
    //"bFilter": true,//搜索栏
    //"bSort": true,//排序
    //"bInfo": true,//Showing 1 to 10 of 23 entries 总记录数没也显示多少等信息
    //"bAutoWidth": true } );
//} );

//$(document).ready(function() {
  //$('#example').dataTable( {
    //"aaSorting": [[ 4, "desc" ]]//给列表排序 ,第一个参数表示数组 。4 就是css grade那列。第二个参数为 desc或是asc
  //} );
//} );

//$(document).ready(function() {
  //$('#example').dataTable( {
    //"aoColumns": [ 
    //  /* Engine */  null, //默认
    //  /* Browser */ null,
    //  /* Platform */ { "bSearchable": false, //不可参与搜索
    //           "bVisible":  false },//不可见
    //  /* Version */ { "bVisible":  false },//不可见
    //  /* Grade */  null
    //] } );
//} );

//$(document).ready(function() {
  //$('#example').dataTable({
  //});
//} );

//$(document).ready(function() {
  //$('#example').dataTable( {
    //"sDom": '<"top"i>rt<"bottom"flp<"clear">'//这段是自定义布局没搞明白挺复杂的。  * l - Length changing * f - Filtering input* t - The table!* i - Information* p - Pagination* r - pRocessing* < and > - div elements* <"class" and > - div with a class  * Examples: <"wrapper"flipt>, <lf<t>ip>

  //} );
//} );

//$(document).ready(function() {
//  $('#example').dataTable( {
  //  "bStateSave": true //保存状态到cookie *************** 很重要 , 当搜索的时候页面一刷新会导致搜索的消失。使用这个属性就可避免了
  //} );
//} );

//$(document).ready(function() {
  //$('#example').dataTable( {
    //"sPaginationType": "full_numbers" //分页,一共两种样式 另一种为two_button 是datatables默认
  //} );
//} );

//$(document).ready(function() {
  //$('#example').dataTable( { //分页信息 不是很难理解。
    //"oLanguage": {
      //"sLengthMenu": "Display _MENU_ records per page",
      //"sZeroRecords": "Nothing found - sorry",
      //"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
      //"sInfoEmtpy": "Showing 0 to 0 of 0 records",
      //"sInfoFiltered": "(filtered from _MAX_ total records)"
    //}
  //} );
//} )

$(document).ready(function() {
  oTable = $('#example').dataTable({
    "bJQueryUI": true, //可以添加 jqury的ui theme 需要添加css
    "sPaginationType": "full_numbers"
  });
} );

默认的语言是英文的 当然可以国际化:
"sUrl": "/SSS/dataTables/de_DE.txt" 添加个国际化的文件就可以。 名字随便 路径对了就可以。我写的国际化文件内容如下,可以直接复制到txt中使用.

{
"sProcessing": "Bitte warten...",
"sLengthMenu": "显示_MENU_条 ",
"sZeroRecords": "没有您要搜索的内容",
"sInfo": "从_START_ 到 _END_ 条记录——总记录数为 _TOTAL_ 条",
"sInfoEmpty": "记录数为0",
"sInfoFiltered": "(全部记录数 _MAX_ 条)",
"sInfoPostFix": "",
"sSearch": "搜索",
"sUrl": "",
"oPaginate": {
"sFirst":  "第一页",
"sPrevious": " 上一页 ",
"sNext":   " 下一页 ",
"sLast":   " 最后一页 "
}
}

这些是datatables的基础部分。比较容易掌握。

希望本文所述对大家jQuery程序设计的学习有所帮助。

Javascript 相关文章推荐
js修改table中Td的值(定义td的双击事件)
Jan 10 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
JS实现AES加密并与PHP互通的方法分析
Apr 19 Javascript
JS实现元素上下左右移动效果
Oct 18 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
对vuex中store和$store的区别说明
Jul 24 Javascript
js实现鼠标点击飘爱心效果
Aug 19 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
jQuery中index()的用法分析
Sep 05 #Javascript
使用jquery解析XML的方法
Sep 05 #Javascript
JavaScript避免内存泄露及内存管理技巧
Sep 05 #Javascript
javascript获取dom的下一个节点方法
Sep 05 #Javascript
原生JavaScript生成GUID的实现示例
Sep 05 #Javascript
javascript动态控制服务器控件实例
Sep 05 #Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 #Javascript
You might like
星际RPG字典
2020/03/04 星际争霸
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
详解Vue爬坑之vuex初识
2017/06/14 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
总结javascript三元运算符知识点
2018/09/28 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
Php多进程实现代码
2018/05/07 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
建筑院校毕业生求职信
2014/06/13 职场文书
大学迎新标语
2014/06/26 职场文书
购房协议书范本
2014/10/02 职场文书
Redis性能监控的实现
2021/07/09 Redis
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android
Python OpenGL基本配置方式
2022/05/20 Python