一、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表格插件的更多相关文章

  1. [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)

    目录 1.   介绍 2.   软件环境 3.   在运行示例代码之前(源代码 + 示例登陆帐号) 4.         jqGrid和AJAX 5.         GridSettings 6.  ...

  2. 在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理

    在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和 ...

  3. jquery DataTables表格插件的使用(网页数据表格化及分页显示)

    DataTables - 非常强大的 jQuery 表格插件,可变宽页码浏览,现场过滤. 多列排序,自动探测数据类型,智能列宽,可从几乎任何数据源获取数据. 那么在Bootstrap下如何使用Data ...

  4. 基于JQuery可拖动列表格插件DataTables的踩坑记

    前言 最近项目中在使用能够拖动列调整列位置顺序的表格插件---DataTables,这也是目前我找到的唯一一种存在有这种功能的插件. 在查找使用方法的过程中发现可用案例并不多,且大多言语不详.本文将全 ...

  5. 使用jQuery开发datatable分页表格插件

    当系统数据量很大时,前端的分页.异步获取方式就成了较好的解决方案.一直以来,我都希望使用自己开发的 jquery 插件做系统. 现在,学习了 jquery 插件开发之后,渐渐地也自己去尝试着开发一些简 ...

  6. jQuery中的each, data, 插件

    一.  each() $(' ').each(function (){...}) jQuery.each(collection, callback(indexInArray, valueOfEleme ...

  7. jQuery中的supersized的插件的功能描述

    Supersized特性: 自动等比例调整图片并填充整浏览器个屏幕. 循环展示图片,支持滑动和淡入淡出等多种图片切换效果. 导航按钮,支持键盘方向键导航. XHTML <div id=" ...

  8. jQuery中的工具和插件

    jQuery的工具属性 jQuery类数组操作 length属性 表示获取类数组中元素的个数 get()方法 表示获取类数组中单个元素"括号中填写该元素的索引值" index()方 ...

  9. Datatables快速入门开发--一款好用的JQuery表格插件

    博主是一个java后端程序员小白,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jqu ...

随机推荐

  1. Git 09 IDEA撤销提交

    参考源 https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0 版本 本文章基于 Git 2.35.1.2 如果提交了不 ...

  2. 使用二手 gopro 做行车记录仪

    背景 自打开了博客以后,一直在写技术说明文,今天打算写点程序以外的东西换换味口.前段时间在某鱼上以 300 元的价格入手了一套完整的 gopro3+ 运动摄像头,带一张 32G SD 卡,两块备用电池 ...

  3. ASP.NET Core 6框架揭秘实例演示[33]:异常处理高阶用法

    NuGet包"Microsoft.AspNetCore.Diagnostics"中提供了几个与异常处理相关的中间件,我们可以利用它们将原生的或者定制的错误信息作为响应内容发送给客户 ...

  4. 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考

    理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年.2008 年左右,Hadoop 成 ...

  5. apk编辑器测评

    hi你好,我今天要介绍的就是apk编辑器 这里我用的是apk编辑器专业版 APK编辑器 关于 APK 编辑器智友汉化组论坛:bbs.zhiyoo.com修改应用程序名称美化 UI: 更改背景图片删除广 ...

  6. CF1450E 资本主义Capitalism(差分约束)

    题面 点此看题 没有永远的朋友,只有永远的利益 在这个黑漆漆的社会上,有 n n n 个布衣百姓,他们在利益驱使下成为金钱的奴隶,看不到属于生活的阳光.在茫茫奔途中,他们相互扶持,结交了有 m m m ...

  7. Linux之LVM逻辑卷管理

    LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...

  8. Jmeter中的JSON提取器用法

    一.使用前提 一般来说JSON提取器只适用于响应结果中返回的是json数据 二.需求 在下一个接口调用上一个接口的数据,如:请求1返回的结果,处理以后作为请求2的参数使用. 首先需要下载JSON Ex ...

  9. 部署Netlify站点博客

    Netlify站点部署静态博客 今天尝试把站点部署在Netlify上,因为部署在GitHub Pages上,国内访问速度太慢了,所以就尝试一下别的站点,部署成功之后发现速度还是不太行,后边继续找找原因 ...

  10. MySQL数据备份 mysqldump 详解

    MySQL数据备份流程 1 打开cmd窗口 通过命令进行数据备份与恢复: 需要在Windows的命令行窗口中进行: l 开始菜单,在运行中输入cmd回车: l 或者win+R,然后输入cmd回车,即可 ...