JQuery中的DataTables表格插件
一、DataTables表格插件的简介
DataTables是一个jQuery的表格插件。它具有以下特点:
- 自动分页处理
- 即时表格数据过滤
- 数据排序以及数据类型自动检测
- 自动处理列宽度
- 可通过CSS定制样式
- 支持隐藏列
- 易用
- 可扩展性和灵活性
- 国际化
- 动态创建表格
- 免费的
二、DataTables的使用
fnCookieCallback:还没有使用过
$(document).ready(function () {
$('#example').dataTable({
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
// Customise oData or sName or whatever else here
return sName + "=" + JSON.stringify(oData) + "; expires=" + sExpires + "; path=" + sPath;
}
});
});
fnCreatedRow:顾名思义,创建行得时候的回调函数
$(document).ready(function () {
$('#example').dataTable({
"fnCreatedRow": function (nRow, aData, iDataIndex) {
// 为a的话字体加粗
if (aData[4] == "A") {
$('td:eq(4)', nRow).html('<b>A</b>');
}
}
});
});
fnDrawCallback:draw画 ,这个应该是重绘的回调函数
$(document).ready(function () {
$('#example').dataTable({
"fnDrawCallback": function (oSettings) {
alert('DataTables 重绘了');
}
});
});
fnFooterCallback:底部的回调函数,这个可以用来做总计之类的功能
$(document).ready(function() {
$('#example').dataTable({
"fnFooterCallback": function(nFoot, aData, iStart, iEnd, aiDisplay) {
nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is " + iStart;
}
});
});
fnFormatNumber:顾名思义,格式化数字的显示方式
$(document).ready(function () {
$('#example').dataTable({
"fnFormatNumber": function (iIn) {
if (iIn < 1000) {
return iIn;
} else {
var s = (iIn + ""),
a = s.split(""), out = "",
iLen = s.length;
for (var i = 0; i < iLen; i++) {
if (i % 3 === 0 && i !== 0) {
out = "'" + out;
}
out = a[iLen - i - 1] + out;
}
}
return out;
}
});
});
fnHeaderCallback:表头的回调函数
$(document).ready(function () {
$('#example').dataTable({
"fnHeaderCallback": function (nHead, aData, iStart, iEnd, aiDisplay) {
nHead.getElementsByTagName('th')[0].innerHTML = "Displaying " + (iEnd - iStart) + " records";
}
});
})
fnInfoCallback:datatables信息的回调函数
$('#example').dataTable({
"fnInfoCallback": function (oSettings, iStart, iEnd, iMax, iTotal, sPre) {
return iStart + " to " + iEnd;
}
});
fnInitComplete:datatables初始化完毕后会调用这个方法
$(document).ready(function () {
$('#example').dataTable({
"fnInitComplete": function (oSettings, json) {
alert('DataTables has finished its initialisation.');
}
});
});
fnPreDrawCallback:每一次绘datatables时候调用的方法
$(document).ready(function () {
$('#example').dataTable({
"fnPreDrawCallback": function (oSettings) {
if ($('#test').val() == 1) {
return false;
}
}
});
});
fnRowCallback:行的回调函数
$(document).ready(function () {
$('#example').dataTable({
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
// Bold the grade for all 'A' grade browsers
if (aData[4] == "A") {
$('td:eq(4)', nRow).html('<b>A</b>');
}
}
});
});
fnServerData:这个是结合服务器模式的回调函数,用来处理服务器返回过来的数据
// POST data to server
$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "xhr.php",
"fnServerData": function (sSource, aoData, fnCallback, oSettings) {
oSettings.jqXHR = $.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}
});
});
fnServerParams:向服务器传额外的参数
$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "scripts/server_processing.php",
"fnServerParams": function (aoData) {
aoData.push({ "name": "more_data", "value": "my_value" });
}
});
});
fnStateLoad:读取状态的回调函数
$(document).ready(function () {
$('#example').dataTable({
"bStateSave": true,
"fnStateLoad": function (oSettings) {
var o;
// Send an Ajax request to the server to get the data. Note that
// this is a synchronous request.
$.ajax({
"url": "/state_load",
"async": false,
"dataType": "json",
"success": function (json) {
o = json;
}
});
return o;
}
});
});
fnStateLoadParams:和上面的不知道什么区别,没用过
// Remove a saved filter, so filtering is never loaded
$(document).ready(function () {
$('#example').dataTable({
"bStateSave": true,
"fnStateLoadParams": function (oSettings, oData) {
oData.oSearch.sSearch = "";
}
});
});
// Disallow state loading by returning false
$(document).ready(function () {
$('#example').dataTable({
"bStateSave": true,
"fnStateLoadParams": function (oSettings, oData) {
return false;
}
});
});
fnStateLoaded:又是这个,加了ed 不知道意思没用过
// Show an alert with the filtering value that was saved
$(document).ready(function () {
$('#example').dataTable({
"bStateSave": true,
"fnStateLoaded": function (oSettings, oData) {
alert('Saved filter was: ' + oData.oSearch.sSearch);
}
});
});
fnStateSave:状态储存
$(document).ready( function() {
$('#example').dataTable({
"bStateSave": true,
"fnStateSave": function(oSettings, oData) {
// Send an Ajax request to the server with the state object
$.ajax({
"url": "/state_save",
"data": oData,
"dataType": "json",
"method": "POST"
"success": function () {
}
});
};
} );
} );
fnStateSaveParams :状态储存参数,没用过,不明白
// Remove a saved filter, so filtering is never saved
$(document).ready(function () {
$('#example').dataTable({
"bStateSave": true,
"fnStateSaveParams": function (oSettings, oData) {
oData.oSearch.sSearch = "";
}
});
});
JQuery中的DataTables表格插件的更多相关文章
- [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)
目录 1. 介绍 2. 软件环境 3. 在运行示例代码之前(源代码 + 示例登陆帐号) 4. jqGrid和AJAX 5. GridSettings 6. ...
- 在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理
在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和 ...
- jquery DataTables表格插件的使用(网页数据表格化及分页显示)
DataTables - 非常强大的 jQuery 表格插件,可变宽页码浏览,现场过滤. 多列排序,自动探测数据类型,智能列宽,可从几乎任何数据源获取数据. 那么在Bootstrap下如何使用Data ...
- 基于JQuery可拖动列表格插件DataTables的踩坑记
前言 最近项目中在使用能够拖动列调整列位置顺序的表格插件---DataTables,这也是目前我找到的唯一一种存在有这种功能的插件. 在查找使用方法的过程中发现可用案例并不多,且大多言语不详.本文将全 ...
- 使用jQuery开发datatable分页表格插件
当系统数据量很大时,前端的分页.异步获取方式就成了较好的解决方案.一直以来,我都希望使用自己开发的 jquery 插件做系统. 现在,学习了 jquery 插件开发之后,渐渐地也自己去尝试着开发一些简 ...
- jQuery中的each, data, 插件
一. each() $(' ').each(function (){...}) jQuery.each(collection, callback(indexInArray, valueOfEleme ...
- jQuery中的supersized的插件的功能描述
Supersized特性: 自动等比例调整图片并填充整浏览器个屏幕. 循环展示图片,支持滑动和淡入淡出等多种图片切换效果. 导航按钮,支持键盘方向键导航. XHTML <div id=" ...
- jQuery中的工具和插件
jQuery的工具属性 jQuery类数组操作 length属性 表示获取类数组中元素的个数 get()方法 表示获取类数组中单个元素"括号中填写该元素的索引值" index()方 ...
- Datatables快速入门开发--一款好用的JQuery表格插件
博主是一个java后端程序员小白,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jqu ...
随机推荐
- Git 09 IDEA撤销提交
参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 如果提交了不 ...
- 浅谈MySQL的sql_mode
SQL mode 今天我们来分享一下MySQL的SQL mode , 这也是我们比较容易忽略的一点,我们在一开始安装数据库的时候其实就要先考虑要保留哪些SQL mode,去除哪些,合理的配置能够减少很 ...
- ceph 009 管理定义crushmap 故障域
管理和自定义crushmap 定义pg到osd的映射关系 通过crush算法使三副本映射到理想的主机或者机架 更改故障域提高可靠性 pg到osd映射由crush实现 下载时需要将对象从osd搜索到,组 ...
- java单线程100%利用率
容器内就获取个cpu利用率,怎么就占用单核100%了呢 背景:这个是在centos7 + lxcfs 和jdk11 的环境上复现的 目前这个bug已经合入到了开源社区, 链接为 https://git ...
- HDU2065 “红色病毒”问题 (指数型母函数经典板题)
题面 医学界发现的新病毒因其蔓延速度和Internet上传播的"红色病毒"不相上下,被称为"红色病毒",经研究发现,该病毒及其变种的DNA的一条单链中,胞嘧啶, ...
- 开发个RTMP播放器居然这么难?RTMP播放器对标和考察指标
好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...
- KingbaseES R6 集群“双主”故障解决案例
实际工作中,可能会碰到集群脑裂的情况,在脑裂时,会出现双 primary情况.这时,需要用户介入,人工判断哪个节点的数据最新,减少数据丢失. 一.测试环境信息 操作系统: [kingbase@node ...
- LyScript 内存扫描与查壳实现
LyScript 中提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚他们之间的差异,如下将分别详细介绍每一种内存扫描函数是如何灵活运用的,最后将实现一个简易版内存查 ...
- 输入法词库解析(七)微软用户自定义短语.dat
详细代码:https://github.com/cxcn/dtool 前言 微软拼音和微软五笔通用的用户自定义短语 dat 格式. 解析 前 8 个字节标识文件格式 machxudp,微软五笔的 le ...
- G&GH02 储存库创建/同步
注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...