,,jQuery表格插件datatables用法详解

,,jQuery表格插件datatables用法详解

本文主要介绍jQuery表格插件数据表的用法,包括分页、排序等功能,属于jQuery表格插件数据表基础知识的一部分。有需要的朋友可以参考一下。

一、Datatables简介

DataTables是jQuery的一个表格插件。这是一个高度灵活的工具,基础逐渐加强,会加入高级交互控件,支持任何HTML表单。主要特点:

自动分页处理

即时表格数据过滤

数据分类和数据类型的自动检测

自动处理列宽

可以通过CSS自定义样式

支撑柱

使用方便

可扩展性和灵活性

国际化

动态表格创建

免费/免费

二、如何使用

后台没有美工和前端工程师配合你做页面。为了显示数据并具有一定的美感,我们可以使用jQuery的DataTables插件来帮助我们完成任务。

1、DataTables的默认配置

$(文档)。ready(function() {

$('#example ')。dataTable();

} );

2、DataTables的一些基础属性配置

' BPaginate': true,//翻页函数

' Blend change': true,//更改每页显示的数据量

' BFilter': true,//过滤函数

' BSort': false,//排序函数

' BInfo': true,//页脚信息

' BAutoWidth': true//自动宽度

3、数据排序

$(文档)。ready(function() {

$('#example ')。数据表({

aaSorting': [

[ 4,《desc》]

]

} );

} );

从第0列开始,按与第4列相反的顺序排列。

4、隐藏某些列

$(文档)。ready(function() {

$('#example ')。数据表({

aoColumnDefs': [

{ 'bSearchable': false,' bVisible': false,' at targets ':[2]},

{ 'bVisible': false,' at targets ':[3]}

] } );

} );

5、国际化

$(文档)。ready(function() {

$('#example ')。数据表({

奥兰语言':{

SLengthMenu ':'每页显示_菜单_记录',

SZeroRecords ':'对不起,找不到',

SInfo ':' from _ START _ to _ END _/total _ pieces of data ',

SInfoEmpty ':'无数据',

SInfoFiltered ':'(从_MAX_ pieces个数据中检索)',

不透明':

SFirst ':'主页',

跨页':'上一页',

SNext ':'下一页',

最后一页':'最后一页'

},

SZeroRecords ':'未检索到任何数据',

存储处理“:”img src=“。/loading.gif' /'

}

} );

} );

6、排序功能:

$(文档)。ready(function() {

$('#example ')。数据表({

aoColumns': [

空,

{ '分类':[ 'asc' ] },

{ '分类':[ 'desc ',' asc ',' asc' ] },

{ '分类':[ ] },

{ '分类':[ ] }

]

} );

} );

7、数据获取支持4种:如下

DOM数据

Javascript数组JS数组

Ajax源Ajax请求数据

?Server side processing 服务器端数据

三、实例讲解

1.需求:如下图所示,增加、编辑、删除数据表的内容。

2.解析:添加功能——点击添加按钮,弹出对话框,添加新内容。

编辑功能-点击数据表选择一行,该行改变颜色,即被选中。点击编辑按钮,将弹出对话框。此对话框中的内容是我们所选行的内容。如果没有选中行,点击编辑按钮,对话框不会弹出。双击数据表中的一行时,对话框也会弹出,双击的行会改变颜色。对话框中的内容是双击行的内容。

删除功能-点击数据表选中一行,点击删除按钮,会弹出一个警告框,提示是否删除选中的内容。当什么都不选时,点击删除按钮,不会弹出警告框,内容不会被删除。

3.编码:

属性//名称

table id=' grid table ' class=' grid table '//Declare jquery数据表

四羟乙基己二酰胺

tr

thName

/th

thValue

/th

thDisplayOrder

/th

/tr

/thead

tbody

.//datatables内容,此处省略。

/tbody

/表格

type=' button ' id=' Add ' value=' Add '//添加一个按钮

type=' button ' id=' edit ' value=' edit '//edit按钮

type=' button ' id=' Delete ' value=' Delete '//Delete按钮

Div id='e_Attributes'//Declare对话框,异步更新

@使用(Ajax。BeginForm('Update ',' Product ',新Ajax选项

{

UpdateTargetId='d_Attributes ',

OnSuccess='dialogClose ',

HttpMethod='Post ',

}))

{

桌子

tbody

tr

td名称/td

(美)财政部(Treasury Department)

输入id=' Name ' Name=' Name ' type=' text ' style=' width:250 px ' class=' required '/*/TD

/tr

tr

(美)财政部(Treasury Department)值/td

(美)财政部(财政部)

输入id=' Value ' name=' Value ' type=' text ' style=' width:250 px ' class=' required '/*/TD

/tr

tr

tdDisplayOrder/td

(美)财政部(财政部)

输入id='显示顺序' name='显示顺序' type=' text ' style=' width:128 px ' class=' required '/*/TD

/tr

tr

(美)财政部(财政部)

输入id='提交'类型='提交'名称='提交'值='提交'/

输入id='隐藏值' type='隐藏' name='隐藏值'/

/td

/tr

/tbody

/表格

}

/div

上面代码说明:这段代码主要分了两个部分,第一部分是jquery数据表的声明,表id='网格表' class='网格表';第二部分是对话的声明,以及操作所需要的行动,此部分的操作选择创建交互式、快速动态网页应用的网页开发技术无刷新页面技术。所需射流研究…的代码:

脚本类型='文本/javascript '

函数dialogClose() {

$('#e_Attributes ').对话框("关闭");

}

$('#e_Attributes ').对话框({

模态:真的,

autoOpen: false,

显示:{

效果:"失明",

持续时间:1000

},

隐藏:{

效果:"爆炸",

持续时间:1000

},

宽度:400

});

定义变量编辑器;

$(function () {

//声明数据表

$('#gridtable ').数据表()。fn destroy();

editor=$('#gridtable ').数据表({

' bInfo':false,

' bServerSide': false,

' bPaginate': false,//是否分页。

' bProcessing': false,//当数据表获取数据时候是否显示正在处理提示信息。

' bFilter': false,//是否使用内置的过滤功能。

' bLengthChange': false,//是否允许用户自定义每页显示条数。

sPaginationType': 'full_numbers ',//分页样式

});

//单击,赋值,改样式

$('#gridtable tbody tr ').点击(功能(e) {

如果($(这个)。具有类(' row _ selected '){

$(这个)。移除类(“row _ selected”);

putNullValue()

}

否则{

编辑$ 0.001(' tr . row _ selected ').移除类(“row _ selected”);

$(这个)。添加类(' row _ selected ');

var aData=editor。fngetdata(this);

if (null!=aData) {

put value(aData);

}

}

});

//双击

$('#gridtable tbody tr ').dblclick(function () {

如果($(这个)。具有类(' row _ selected '){

//$(这个)。移除类(“row _ selected”);

}

否则{

编辑$ 0.001(' tr . row _ selected ').移除类(“row _ selected”);

$(这个)。添加类(' row _ selected ');

}

var aData=editor。fngetdata(this);

if (null!=aData) {

put value(aData);

}

$('#hiddenValue ').瓦尔(“编辑");

$('#e_Attributes ').对话框("打开");

});

//添加

$('#add ').单击(函数(){

编辑$ 0.001(' tr . row _ selected ').移除类(“row _ selected”);

putNullValue();

$('#hiddenValue ').val(' add ');

$('#e_Attributes ').对话框("打开");

});

//编辑

$('#edit ').单击(函数(){

var产品属性id=$(' #产品属性id ').val();

if (productAttributeID!='' productAttributeID!=null) {

$('#hiddenValue ').瓦尔(“编辑");

$('#e_Attributes ').对话框("打开");

}

});

//删除

$('#delete ').单击(函数(){

var产品属性id=$(' #产品属性id ').val();

var productID=$('#productID ').val();

if (productAttributeID!=null productAttributeID!='') {

如果(确认('删除?)) {

$.ajax({

键入:'获取',

网址:"@网址。操作(' DeleteAttribute ',' Product ')',

数据:{ ProductID: productID,产品属性ID:产品属性id },//参数名要和行动中的参数名相同

数据类型:“html”,

缓存:假,

成功:功能(结果){

$('#d_Attributes ').html(结果);

$('#productAttributeID ').瓦尔(空);

}

});

}

}

});

//赋空值,并去除输入验证错误样式(此样式不管有无,均可去除,所以不用判断了)

函数putNullValue() {。//此处省略

}

//赋值

函数putValue(aData) {。//此处省略

}

});

$.Ajax设置({ cache:false });

/脚本

上面代码说明:这段代码分别为对话的声明,数据表的声明以添加、编辑、删除的操作。

添加功能效果图

编辑功能效果图:

删除效果图:

到目前为止,所有的功能都已实现,所需代码也已发布。

4.分页实现

介绍CSS文件和JS文件

style type=' text/CSS ' title=' current style '

@ import ' DataTables-1 . 8 . 1/media/CSS/demo _ page . CSS ';

@ import ' DataTables-1 . 8 . 1/media/CSS/demo _ table . CSS ';

@ import ' DataTables-1 . 8 . 1/media/CSS/demo _ table _ Jui . CSS ';

/风格

脚本类型='text/javascript '语言='javascript' src='数据表-1 . 8 . 1/media/js/jquery . js '/script

脚本类型='text/javascript '语言=' JavaScript ' src=' DataTables-1 . 8 . 1/media/js/jquery . DataTables . js '/script

-

-最简单的方法:

$(文档)。ready(function() {

$('#example ')。dataTable();

});

-您也可以自己定义属性:

脚本类型='文本/javascript '语言='javascript '

$(文档)。ready(function() {

$('#example ')。数据表({

//'bPaginate': true,//switch,是否显示分页器。

//'bInfo': true,//switch,是否显示表格的某些信息。

//'bFilter': true,//switch,是否启用客户端过滤?

//'sDom': 'lfrtip ',

//'bAutoWith': false,

//'bDeferRender': false,

//'bJQueryUI': false,//switch,是否启用JQueryUI样式?

//'blend change': true,//switch,是否显示每个页面大小的下拉框。

//'bProcessing': true,

//'bScrollInfinite': false,

//'s scroll':' 800px ',//是否开启垂直滚动,并指定滚动区域的大小,可以设置为' disabled ',' 2000px '

//'bSort': true,//switch,是否启用按列排序的功能?

//'吸收类':true,

//'bStateSave': false,//开关,是否开启客户端状态记录功能。这些数据被记录在cookies中。该记录打开后,即使页面刷新一次或者浏览器重新打开,也保存以前的状态——当值为true时,aoColumnDefs不能隐藏列。

//'sScrollX': '50% ',//是否开启水平滚动,并指定滚动区域的大小,可以设置为'禁用',' 2000% '

//'aaSorting': [[0,' asc']],

//' aocolumndefs ':[{ ' bvisible ':false,' at argets ':[0]}]//隐藏列

//' sDom ':' H ' ift ' f ' if ',

' BAutoWidth': false,//自适应宽度

aaSorting': [[1,' asc']],

sPaginationType': 'full_numbers ',

奥兰语言':{

正在处理“:”正在加载.

SLengthMenu ':'每页显示_菜单_记录',

' SZeroRecords ':'对不起,找不到相关数据!

SEmptyTable ':'表中没有数据!

SInfo ':'目前在_TOTAL_中有_START_ to _END_条记录,

SInfoFiltered ':'数据表中有_MAX_ records ',

SSearch ':'搜索',

不透明':

SFirst ':'主页',

传播':'以前',

SNext ':'下一页',

最后一页':'最后一页'

}

}//多语言配置

});

});

/脚本

对于数据表,表必须由ad和tbody解释,如下所示

表格cell padding=' 0 ' cellspacing=' 0 ' border=' 0 ' class=' display ' id=' example '

四羟乙基己二酰胺

tr

泰国(Thailand)

渲染引擎

/th

泰国(Thailand)

浏览器

/th

泰国(Thailand)

平台

/th

泰国(Thailand)

引擎版本

/th

泰国(Thailand)

CSS等级

/th

/tr

/thead

tbody

奇数级

(美)财政部(Treasury Department)

三叉戟

/td

(美)财政部(Treasury Department)

Internet Explorer 4.0

/td

(美)财政部(Treasury Department)

Win 95

/td

td class='center '

/td

td class='center '

X

/td

/tr

如果没有thead,将会报告一个错误。

Bpinate:是否分页,默认为true,分页。

IDisplayLength:每页的行数,默认为每页10行。

SPaginationType:分页样式,支持两个内置方法two_button和full_numbers。默认情况下,使用two_button。

BLengthChange:是否允许用户通过下拉列表选择分页后每页的行数。行数为10、25、50、100。此设置需要bPaginate支持。默认值为true。

BFilter:启用或禁用数据过滤,默认为真。注意,如果您使用了过滤功能,但是想要关闭默认的过滤输入框,那么您应该使用sDom。

BInfo:允许或禁止显示表格信息;默认值为true,表示显示信息。

最简单的使用方法是零配置。

/*

*初始化示例

*/

$(文档)。ready(function(){

$('#example ')。dataTable();

});

以上是jQuery表格插件datatables用法的详细介绍,希望对大家的学习有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用jquery实现图片轮播效果如何,jQuery图片轮播
  • 使用jquery实现图片轮播效果如何,jQuery图片轮播,使用jQuery实现图片轮播效果
  • 举例说明jquery中each函数的使用,jquery each()
  • 举例说明jquery中each函数的使用,jquery each(),JQuery中each()的使用方法说明
  • 一篇文章带你了解jquery动画人物,一篇文章带你了解jquery动画制作
  • 一篇文章带你了解jquery动画人物,jquery的动画,一篇文章带你了解jQuery动画
  • trigger的用法总结,jquery trigger 传参数
  • trigger的用法总结,jquery trigger 传参数,jQuery中值得注意的trigger方法浅析
  • js hover 触发事件显示另一元素,js hover 触发事件,jQuery中多个元素的Hover事件解决方案
  • js apply 实现原理,jquery apply用法_1
  • js apply 实现原理,jquery apply用法
  • js apply 实现原理,jquery apply用法,js中apply方法的使用详细解析
  • js apply 实现原理,jquery apply用法,JS中apply()的应用实例分析
  • jq获取radio选中的值,jquery radio 取值
  • jq获取radio选中的值,jquery radio 取值,Jquery获取radio选中值实例总结
  • 留言与评论(共有 条评论)
       
    验证码: