jQuery DataTable 是一个基于Jquery的插件库,是一个优秀的表格插件,能够满足大部分表格应用需求。 就jQuery DataTable提供了针对表格的排序、浏览器分页、服务器分页、筛选、格式化等功能。jQuery DataTable的网站(http://www.datatables.net/) 上也提供了大量的演示和详细的文档进行说明。
创建Jquery Datatable
$(document).ready(function(){
$('#example').dataTable();
});
要注意的是,要被dataTable处理的table对象,必须有thead与tbody 以下是在进行jQuery DataTable创建时可以附加的参数:
属性名称 | 取值范围 | 默认值 | 解释 |
---|---|---|---|
bAutoWidth | true or false | true | 是否自动计算表格各列宽度 |
bDeferRender | true or false | false | 用于渲染的一个参数 |
bFilter | true or false | true | 开关,是否启用客户端过滤功能 |
bInfo | true or false | true | 开关,是否显示表格的一些信息 |
bJQueryUI | true or false | false | 是否使用jquery ui themeroller的风格 |
bLengthChange | true or false | true | 开关,是否显示一个每页长度的选择条(需要分页器支持) |
bPaginate | true or false | true | 开关,是否显示(使用)分页器 |
bProcessing | true or false | false | 开关,以指定当正在处理数据的时候,是否显示“正在处理”这个提示信息 |
bScrollInfinite | true or false | false | 开关,以指定是否无限滚动(与sScrollY配合使用),在大数据量的时候很有用。当这个标志为true的时候,分页器就默认关闭 |
bSort | true or false | true | 开关,是否让各列具有按列排序功能 |
bSortClasses | true or false | true | 开关,指定当当前列在排序时,是否增加classes 'sorting_1', 'sorting_2' and 'sorting_3',打开后,在处理大数据时,性能有所损失 |
bStateSave | true or false | false | 开关,是否打开客户端状态记录功能。这个数据是记录在cookies中的,打开了这个记录后,即使刷新一次页面,或重新打开浏览器,之前的状态都是保存下来的 |
sScrollX | 'disabled' or '100%' | 类似的字符串 | 是否开启水平滚动,以及指定滚动区域大小 |
sScrollY | 'disabled' or '200px' | 类似的字符串 | 是否开启垂直滚动,以及指定滚动区域大小 |
aaSorting | array | array[int,string], 如[], [[0,'asc'], [0,'desc']] | 指定按多列数据排序的依据 |
aaSortingFixed | 同上 | 同上 | 唯一不同点是不能被用户的自定义配置冲突 |
aLengthMenu | default [10, 25, 50, 100],可以为一维数组,也可为二维数组,比如:[[10, 25, 50, -1], [10, 25, 50, "All"]] | 这个为选择每页的条目数,当使用一个二维数组时,二维层面只能有两个元素,第一个为显示每页条目数的选项,第二个是关于这些选项的解释 | |
aoSearchCols | default null, 类似:[null, {"sSearch": "My filter"}, null,{"sSearch": "[0-9]", "bEscapeRegex": false}] | 给每个列单独定义其初始化搜索列表特性(这一块还没搞懂) | |
asStripClasses | default ['odd', 'even'], 比如['strip1', 'strip2', 'strip3'] 指定要被应用到各行的class风格,会自动循环 | ||
bDestroy | true or false | false | 用于当要在同一个元素上执行新的dataTable绑定时,将之前的那个数据对象清除掉,换以新的对象设置 |
bRetrieve | true or false | false | 用于指明当执行dataTable绑定时,是否返回DataTable对象 |
bScrollCollapse | true or false | false | 指定适当的时候缩起滚动视图 |
bSortCellsTop | true or false | false | 不知道干啥 |
iCookieDuration | 整数,单位为秒 7200 指定用于存储客户端信息到cookie中的时间长度,超过这个时间后,自动过期 | ||
iDeferLoading | 整数 null 延迟加载,它的参数为要加载条目的数目,通常与 | bServerSide,sAjaxSource等配合使用 | |
iDisplayLength | 整数 10 用于指定一屏显示的条数,需开启分页器 | ||
iDisplayStart | 整数 0 用于指定从哪一条数据开始显示到表格中去 | ||
iScrollLoadGap | 整数 100 用于指定当DataTable设置为滚动时,最多可以一屏显示多少条数据 | ||
oSearch | { "sSearch": "", "bRegex": false, "bSmart": true } | 又是初始时指定搜索参数相关的,有点复杂,没搞懂目前 | |
sAjaxDataProp | 字符串 | aaData | 指定当从服务端获取表格数据时,数据项使用的名字 |
sAjaxSource | URL字符串 | null | 指定要从哪个URL获取数据 |
sCookiePrefix | 字符串 | 'SpryMedia_DataTables_' | 当打开状态存储特性后,用于指定存储在cookies中的字符串的前缀名字 |
sDom | lfrtip (when bJQueryUI is false) or <"H"lfr>t<"F"ip> (when bJQueryUI is true) | 这是用于定义DataTable布局的一个强大的属性,另开专门文档来补充说明吧 | |
sPaginationType | 'full_numbers' or 'two_button' | 'two_button' | 用于指定分页器风格 |
sScrollXInner | 字符串 | 'disabled' | 又是水平滚动相关的,没搞懂啥意思 |