JQuery DataTables-Editable可在线编辑数据的表格控件相关应用技术

合集下载

跟我学JQuery DataTables表格控件及应用实例——DataTables插件API相关的选项参数及应用示例(第1部分)

跟我学JQuery DataTables表格控件及应用实例——DataTables插件API相关的选项参数及应用示例(第1部分)

1.1跟我学JQuery DataTables表格控件及应用实例——DataTables插件API相关的选项参数及应用示例(第1部分)1.1.1DataTable API相关的选项参数的定义1、在DataTables中的参数名称的定义规则在DataTables中的参数名称的前缀用来说明参数的数据类型,在DataTables中的参数名称的定义规则如下:1)n –代表节点2)o –代表对象3)a–代表数组4)s –代表字符串5)b –代表布尔类型6)f –代表浮点类型7)i –代表整形8)fn –代表函数因此,一旦了解了DataTables中的参数名称前缀的含义,将有助于理解DataTables中的参数的数据类型。

2、DataTables的核心属性配置选项的功能及设置(1)启用翻页功能"bPaginate": true(2)启用改变每页显示数据数量的功能"bLengthChange": true(3)启用过滤功能"bFilter": true(4)启用排序功能"bSort": false(5)显示页脚信息"bInfo": true(6)启用数据表格宽度自动适应显示设备的宽度"bAutoWidth": true1.1.2DataTable中的各个选项参数的功能说明及应用示例1、属性名称bAutoWidth(1)该属性的取值范围为true 或false,默认值为true(2)主要的功能含义是否自动计算表格各列宽度。

(3)代码示例$(document).ready( function () {$('#dataTableTagID').dataTable( {"bAutoWidth": false} );} );如果关闭bAutoWidth("bAutoWidth": false)后,DataTable将不会自动计算数据表格的宽度大小,此时如果浏览器显示宽度缩小时,数据表格将会挤在一坨。

jQuery插件DataTable使用方法详解(.Net平台)

jQuery插件DataTable使用方法详解(.Net平台)

jQuery插件DataTable使⽤⽅法详解(.Net平台)上⼀篇随笔提到了MvcPager,最近⽤到了⼀款前端JQ插件------DataTable(简称DT),很好⽤。

DT是⼀款前端插件,和后端完全分离开,就这点来看,我就特别喜欢。

⼀.使⽤DT,需要以下⽀持js:jq+jquery.dataTables.min.js⼆、页⾯上进⾏引⼊js,直接使⽤DT功能前端代码:<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /><title>⽤户列表</title><link href="~/Content/Scripts/h-ui/css/H-ui.min.css" rel="stylesheet" /><link href="~/Content/Scripts/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" /><link href="~/Content/Scripts/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" /><style>.page-container {padding: 10px;}.operation {background: #EFEEF0;padding: 3px;}.search {background: #EFEEF0;padding: 5px;margin-top: 5px;}.table {margin-top: 10px;}.dataTables_info {margin-left: 5px;}#table1_info {padding: 0;}#table1_length {margin-left: 15px;}</style><!--引⼊脚本解决兼容性(hack技术,必须放⼊head中)--><!--[if lt IE 9]><script src="~/Content/Scripts/html5_css3/html5shiv.min.js"></script><script src="~/Content/Scripts/html5_css3/respond.min.js"></script><script src="~/Content/Scripts/PIE-2.0beta1/PIE_IE678.js"></script><![endif]--></head><body><div class="page-container"><div class="operation"><a class="btn btn-danger radius" href="javascript:;"><i class="Hui-iconfont">&#xe6e2;</i> 批量删除</a><a class="btn btn-primary radius" href="javascript:;"><i class="Hui-iconfont">&#xe600;</i> 添加⽤户</a></div><div class="search"><input type="text" id="nickname" class="input-text" style="width:100px;" placeholder="昵称"><button id="search" class="btn btn-success" type="submit"><i class="Hui-iconfont">&#xe665;</i> 查询</button></div><div class="table"><table id="table1" class="table table-border table-bordered table-bg table-hover"><thead><tr class="text-c"><th><input type="checkbox" name="" value=""></th><th>昵称</th><th>账号</th><th>密码</th><th>添加时间</th><th>修改时间</th><th>是否禁⽤</th><th>操作</th></tr></thead></table></div></div></body></html><script src="~/Content/Scripts/jquery-2.0.3.min.js"></script><script src="~/Content/Scripts/datatables/1.10.13/jquery.dataTables.min.js"></script><script src="~/Content/Scripts/h-ui/js/H-ui.js"></script><script src="~/Content/Scripts/h-ui.admin/js/H-ui.admin.js"></script><script type="text/javascript">var table1 = null;$(function() {table1=initializeTable();$("#search").click(function() {table1.ajax.reload();});});function initializeTable() {//初始化tablevar table = $("#table1").DataTable({/****************************************表格数据加载****************************************************/"serverSide": true,"ajax": {//ajax请求数据源"url": "/UserInfo/Manager/Search","type": "post","data": function (data) {//添加额外的数据给服务器data.pageIndex = (data.start / data.length) + 1;data.nickname = $("#nickname").val().trim();}},"columns": [//列绑定{ "defaultContent": "" },{ "data": "Nickname" },{ "data": "LoginName" },{ "data": "LoginPassword" },{ "data": "AddTime" },{ "data": "ModifyTime" },{ "data": "IsForbidden" },{ "defaultContent": "" }],"columnDefs": [//列定义{"targets": [0],"data": "UserInfoId","render": function (data, type, full) {//全部列值可以通过full.列名获取,⼀般单个列值⽤data PS:这⾥的render是有多少列就执⾏多少次⽅法。

JqueryDatatables的使用详解

JqueryDatatables的使用详解

JqueryDatatables的使⽤详解参考:Datatables 是⼀款强⼤的Jquery表格处理插件,样式⽅⾯可以兼容bootstrap3/4、JqueryUi等,也有默认的样式可以选择。

使⽤Datatables可以很灵活的从服务端通过ajax 更新表格数据,实现排序、分页等功能。

⼀、安装登录官⽹下载,可以看到有⼀个选择的表单让你⾃定义下载包的内容,可以选择样式、扩展组件、Jquery库等,这个可以根据⾃⼰的需求下载,也可以先只下载Default的就可以了。

在你的项⽬中使⽤ DataTables,只需要引⼊三个⽂件即可,jQuery库,⼀个DataTables的核⼼js⽂件和⼀个DataTables的css⽂件。

有的时候还需要DataTables样式的⼀些资源。

⼆、数据的绑定如何将数据显⽰到Datatables中呢,有三种⽅式:1. Dom如果在html中⽣命的table标签下,tbody中有已经编辑好的数据的话,会直接显⽰出来。

<table id="table_id_example" class="display"><thead><tr><th>Column 1</th><th>Column 2</th></tr></thead><tbody><tr><td>Row 1 Data 1</td><td>Row 1 Data 2</td></tr><tr>2. JavaScript可以在js中定义好数据源,然后在DT初始化的时候,通过data选项为表格配置数据,数据源可以是数组、对象、实例三种形式。

(1)数组var data = [["Tiger Nixon","System Architect","Edinburgh","5421","2011/04/25","$3,120"],["Garrett Winters","Director","Edinburgh","8422","2011/07/25","$5,300"]];$('#example').DataTable( {data: data} );(2)实例function Employee ( name, position, salary, office ) { = name;this.position = position;this.salary = salary;this.office = function () {return this._office;}};$('#example').DataTable( {data: [new Employee( "Tiger Nixon", "System Architect", "$3,120", "Edinburgh" ),new Employee( "Garrett Winters", "Director", "$5,300", "Edinburgh" )],columns: [{ data: 'name' },{ data: 'salary' },{ data: 'office()' },{ data: 'position' }]} );(3)对象var data = [{"name": "Tiger Nixon","position": "System Architect","salary": "$3,120","start_date": "2011/04/25","office": "Edinburgh","extn": "5421"},{"name": "Garrett Winters","position": "Director","salary": "$5,300","start_date": "2011/07/25","office": "Edinburgh","extn": "8422"}];//object可以如下初始化表格$('#example').DataTable( {data: data,//使⽤对象数组,⼀定要配置columns,告诉 DataTables 每列对应的属性//data 这⾥是固定不变的,name,position,salary,office 为你数据⾥对应的属性columns: [{ data: 'name' },{ data: 'position' },{ data: 'salary' },{ data: 'office' }]} );可以看到,在html中定义好⼀个id是example的table后,可以使⽤DT提供的选项进⾏初始化,data是数据,可以将要展⽰的数据对象放到data选项后,然后通过columns 选项为每⼀列的属性进⾏定义,DT就会根据columns中定义的属性找到对象中的成员进⾏绑定,如果是数组的话,会按照数组中定义的数据依次绑定到每⼀列上进⾏展⽰。

jquery datatable ajax用法

jquery datatable ajax用法

一、引言在web开发中,经常会涉及到表格数据的展示和操作。

而jquery datatable是一个非常方便高效的表格插件,结合ajax技术,能够实现对大量数据的快速加载和操作。

本文将介绍jquery datatable与ajax的结合用法,帮助读者更好地掌握这一技术。

二、jquery datatable简介1. jquery datatable是一款基于jquery库的表格插件,它提供了丰富的功能和选项,可以让用户对表格数据进行排序、过滤、分页等操作,使得数据展示更加直观和易用。

2. 使用jquery datatable可以大大简化对表格数据的操作,提高用户体验和开发效率,因此在web开发中被广泛应用。

三、ajax技术简介1. ajax是一种在web应用中实现异步数据交互的技术,通过在不刷新整个页面的情况下向服务器发送请求和获取数据,能够提升用户体验和页面加载速度。

2. ajax技术可以实现对服务器端数据的异步获取和更新,是实现动态交互式web页面的重要手段。

四、jquery datatable与ajax的结合用法1. 初始化datatable在使用jquery datatable之前,首先需要对表格进行初始化设置。

通过调用datatable()方法,可以传入一些选项参数,来配置表格的各种功能和样式。

例如:```javascript$('#example').DataTable({"processing": true,"serverSide": true,"ajax": {"url": "data.php","type": "POST"}});```在上面的例子中,我们设置了表格的处理模式为服务器端处理,然后通过ajax选项指定了数据的获取方式,url为数据获取的信息,type为请求的方式。

jQuery表格插件datatables用法汇总

jQuery表格插件datatables用法汇总

jQuery表格插件datatables⽤法汇总DataTables是⼀个jQuery的表格插件,本⽂为⼤家分享了表格插件datatables⽤法,介绍了基础的部分知识,具体内容如下⼀、初始化在页⾯中<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="///1.10.11/css/jquery.dataTables.css"><script type="text/javascript" charset="utf8" src="///1.10.11/js/jquery.dataTables.js"></script></head><body><table id="table_id" class="display"><thead><tr><th>Column 1</th><th>Column 2</th></tr></thead><tbody><tr><td>Row 1 Data 1</td><td>Row 1 Data 2</td></tr><tr><td>Row 2 Data 1</td><td>Row 2 Data 2</td></tr></tbody></table></body></html>js中初始化$(document).ready( function () {$('#table_id').DataTable();} );⼆、常⽤配置在初始化的时候可以通过⼀些常⽤的配置项对表格进⾏配置,这是我在项⽬中实际⽤到的$("#vivo_table_list").dataTable({pageLength: 10, //更改初始页⾯长度(每页的⾏数)processing: true, //显⽰正在处理字符串serverSide: false, // 服务器模式,这⼀点⾮常奇怪*ordering: true, // 是否启⽤Datatables排序searching: false, // 开启搜索autoWidth: false,zeroRecords: "没有查询数据",destroy: true, // 从当前上下⽂销毁掉Datatables对象 (妹搞懂)pagingType: "input", // 分页按钮种类显⽰选项language: {url: "cn.txt" // 本地化},dom: "tr<'row-fluid'<'span6'i><'span6'p>>", // 按什么顺序定义表的控制元素在页⾯上出现(妹搞懂)ajax: {url: "/url",type: "post", // ajax请求的类型 **data: function () {return that.getQueryParams(); // ajax的参数}},columns: [{title: "id", data: "id", orderable: true},{title: "uid", data: "uid", orderable: false},{title: "昵称", data: "nick", orderable: false},{title: "姓名", data: "name", orderable: false},{title: "电话", data: "tel", orderable: false},{title: "申请时间", data: "stimeshow", orderable: true},{title: "状态", data: "statshow", orderable: false},{title: "操作", orderable: false, render: function (data,type,full) {return '<button id="msgsndButton" class="msgsnd glyphicon glyphicon-comment"></button>' +' <button id="forbidButton" class="forbid glyphicon glyphicon-thumbs-down"></button>'+'<input type="hidden" value="'+full.id+'"/>';}}]});后台传回的数据⼀定要是⼀个map,key是 "data",value 是数据(如果数据是List要 toArray()),其中 data 也是 DataTables 的参数之⼀,表⽰表格要显⽰的数据,所以你可以在这个map中放上其他的表格参数,只要把key设置为参数名就可以了。

jquery datatables用法

jquery datatables用法

文章内容大纲:一、简介1.1. jquery datatables的概念和作用1.2. 为什么选择使用jquery datatables 1.3. jquery datatables的优势和特点1.4. jquery datatables的基本用法二、深入探讨2.1. jquery datatables的高级用法2.1.1. 排序和过滤2.1.2. 分页和显示条数控制2.1.3. 搜索和全局过滤2.2. jquery datatables的交互功能2.2.1. 行点击事件2.2.2. 列点击事件2.2.3. 可编辑和可选功能三、进阶应用3.1. jquery datatables的自定义配置3.2. 与其他插件和库的整合3.3. jquery datatables的数据导入和导出 3.4. 性能优化和最佳实践四、总结回顾4.1. jquery datatables的核心原理和实现4.2. jquery datatables的适用场景和局限性4.3. jquery datatables在实际项目中的应用案例4.4. 个人对jquery datatables的看法和建议五、结语---从简到繁,由浅入深地探讨jquery datatables的用法和优势,以帮助读者更全面、深入地理解这一主题。

文章总字数大于3000字,使用非Markdown格式的普通文本,遵循知识文章格式,注重对主题的多次提及和全面总结。

---(文章开始)jquery datatables用法探究一、简介jquery datatables作为一款流行的数据表格插件,在前端开发中广受欢迎。

它能够大大简化数据表格的创建和交互操作,提供了丰富的功能和灵活的配置选项,因此备受开发者青睐。

选择使用jquery datatables的理由有很多,其中包括其强大的排序、过滤、分页和搜索功能,以及支持大规模数据渲染和丰富的插件系统。

在本文中,我们将从基础用法到高级功能,再到进阶应用,全面探讨jquery datatables的用法和优势。

JQuery常用插件

JQuery常用插件

JQuery常用插件1.报表插件jqPlot案例一:2.表格插件table表格由于它的浏览器兼容性和复杂的标签嵌套方式,可以算是添加样式最困难的对象之一了。

大多数前端er都把网页中的table标签替换为div,主要就是因为div要比table 更容易添加CSS样式。

但是我们在日常应用中仍然要用到table表格,其中最好的例子就是对照表。

这里推荐15个jQuery表格插件让你对数据表格进行显示、排序、筛选和操控。

如jQuery表格排序插件、jQuery表格拖拽插件、jQuery树形表格插件、设置颜色、点击、替换等效果。

1.DataTables-强大的jQuery表格插件DataTables是提供了大量特性的强大jQuery表格插件。

例如:你可以自动轻松筛选、Ajax预读取数据、分页、列排序、高亮排序列、扩展插件支持、使用CSS或jQuery UI ThemeRoller 定制主题和完整文档。

2.uiTableFilter-jQuery表格过滤插件uiTableFilter是一个用于表格行筛选的jQuery插件。

插件作者提供了详细的例子来告诉大家如何将自己的表格和插件整合在一起并完成表格筛选。

3.Scrollable HTML Table-jQuery表格滚动插件Scrollable HTML Table jQuery插件可以让你的表格变得可以滚动控制。

4.Tablesorter-jQuery表格排序插件Tablesorter这个jQuery插件是用来将一个包含thead和tbody标签的标准HTML表格转变为无页面刷新的可排序表格。

它不但支持多列排序,而且跨浏览器兼容并且能通过widget系统进行扩展。

5.Flexigrid-Web2.0 jQuery表格插件Flexigrid 是一个轻量级的Web2.0 jQuery插件。

它包含很多非常Cool的特性,如主题定制、分页、工具栏、搜索、排序、ajax读取数据源、调整列宽高尺寸等。

datatables使用教程

datatables使用教程

datatables使用教程DataTables是一个功能强大的jQuery表格插件,它提供了丰富的功能和灵活性,使得在网页中展示数据变得更加方便和美观。

下面是一个详细的DataTables使用教程。

1. 引入jQuery和DataTables库```html```2.创建HTML表格```html<table id="example"><thead><tr><th>姓名</th><th>年龄</th><th>职业</th></tr></thead><tbody><tr><td>张三</td><td>25</td><td>工程师</td></tr><tr><td>李四</td><td>30</td><td>设计师</td></tr>...</tbody></table>```3. 初始化DataTables在页面加载完成之后,使用以下代码来初始化DataTables。

```javascript$(document).ready(functio$('#example').DataTable(;});```这样就完成了一个最基本的DataTables表格的初始化。

你会发现,表格中的数据已经以一个交互式的方式进行了展示,还可以进行排序、等操作。

4.定制化设置DataTables提供了许多选项来定制化表格的样式和行为。

你可以在初始化时传入一个配置对象,并在其中指定各种选项。

```javascript$(document).ready(functio$('#example').DataTable"searching": false, // 禁用功能"lengthChange": false, // 禁用每页显示条数切换功能"ordering": false, // 禁用排序功能"info": false, // 禁用信息显示功能"paging": false // 禁用分页功能});});```5.AJAX加载数据如果你的数据量很大,或者需要从服务器动态加载数据,可以使用AJAX来加载数据。

datatable用法jquery

datatable用法jquery

datatable用法jquery
1.初始化表格:使用jQuery选择器选择表格元素,并调用
DataTables()方法来初始化表格。

2.自定义配置选项:DataTables插件支持许多自定义配置选
项,用于定制表格的行为和外观。

例如,可以设置排序、分页、搜索等行为,也可以自定义列渲染、响应式表格等功能。

3.列渲染:使用DataTables插件的列渲染功能,可以自定义
列的渲染方式。

例如,可以使用自定义函数来格式化日期、链接、图片等数据。

4.响应式表格:DataTables插件支持响应式表格,可以根据
屏幕大小自动调整表格的布局和列宽。

可以通过设置"responsive"选项为true来启用响应式表格。

5.API方法:DataTables插件提供了一系列API方法,用于
控制表格的行为和获取数据。

例如,可以使用"draw"方法重新绘制表格,使用"ajax"方法加载数据等。

37款开源jQuery表格插件

37款开源jQuery表格插件

37款开源jQuery表格插件我们一般使用HTML表格来显示数据,我们都知道div更容易设计,更灵活。

但是现在你使用这些精彩的jQuery表格插件,将更简单、灵活、更多风格。

下面介绍了37款开源jQuery表格插件。

感谢FineReport报表软件公司的整理。

jQuery网格插件 jqGridjqGrid 是一个用来显示网格数据的jQuery插件,文档比较全面,附带中文版本。

主要特点:-Full control with JavaScript API-Data returned from the server is XML-Simple configuration-Ability to load big datasets (paging)-Resizable columns-Server-side sorting-Support of links, images, checkboxes-You can add more than one grid on a sigle page (master-detail)-Paging•授权协议: MIT•开发语言: JavaScript•操作系统:跨平台jQuery表格插件 jQuery grid view plugin jqGridView是新的,富客户端的,基于XML , Ajax网格插件的jQuery库。

jqGridView提供专业的解决方案,代表和编辑表格数据在网络上。

精心设计的,具有强大的脚本API的,这可编辑网格是很简单的DHTML与XML 的配置,并显示出令人信服的成果与大量数据。

jqGridView可以轻松地执行好期待(管理通过的CSS )。

jqGridView并不平台根据插件,它可用于不同的网络编程平台,如:ASP技术.NET /的ASP , PHP中,爪哇岛, CGI脚本等jqGridView 已高度鲍泽兼容性。

主要特性:* Column resizing.* Server-side sorting.* Server-side paging.* Server-side filtering.* 100% XML support.* Inline row edit.* Columns templates.支持的浏览器包括:* Opera 9.0* Firefox 1.5* Safari 3.0* IE 6.0•授权协议:未知•开发语言: JavaScript•操作系统:跨平台jQuery表格插件 Flexigrid for jQuery Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid。

jQuery插件dataTables添加序号列的方法

jQuery插件dataTables添加序号列的方法

jQuery插件dataTables添加序号列的⽅法官⽹⽅法实例:$(document).ready(function() {var t = $('#example').DataTable({"columnDefs": [{"searchable": false,"orderable": false,"targets": 0}],"order": [[1, 'asc']]});t.on('order.dt search.dt',function() {t.column(0, {search: 'applied',order: 'applied'}).nodes().each(function(cell, i) {cell.innerHTML = i + 1;});}).draw();});试了⼀下,然后发现会报draw⽅法找不到之类的,可能是因为版本问题,⽤的是1.12.10版本的。

所以⼜发现有热⼼⽹友分享⼀下⽅法,是可以的。

定义{"data": null,"targets": 0},⼀个空列,然后在dataTables中添加⽅法:"fnDrawCallback": function(){ var api = this.api(); var startIndex= api.context[0]._iDisplayStart;//获取到本页开始的条数 api.column(0).nodes().each(function(cell, i) { cell.innerHTML = startIndex + i + 1; });}以上所述是⼩编给⼤家介绍的jQuery插件dataTables添加序号列的⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

DataTables控件-详解附插图

DataTables控件-详解附插图

datatables表格并不是所有的后台开发都有美工和前端工程师来配合做页面,为了显示数据并有一定的美感,jQuery的DataTables插件对于像我这样的前端菜鸟来说真是雪中送炭,当然对于专业的前端开发者来说它更是锦上添花!DataTables提供了针对表格的排序、浏览器分页、服务器分页、筛选、格式化、统计等强大功能。

工作中对程序员的学习模式才深有体会,不是从入门到精通,而是从会用到了解。

对于我来说,基本都是拿到一个知识先做个东西出来,再来细细品味个中的细节,然后再慢慢理解。

从粗到细,从大到小,呵呵,这种"逆向学习"的模式估计也只在互联网常见了。

使用前要引入datatables的相关包:<script src="///jquery-1.11.1.min.js"></script><script src="///1.10.4/js/jquery.dataTables.min.js "></script>datatables表格展示以及数据源方式都有很多,这里用的是最常见的后端返回给前端的json格式的数据源,并且前端html里指定列的title。

后端的数据可以如下:app.get('/test/index', function(req, res) {var data = [{name:'xiaojie',age:24,job:'developer',description: 'humours'},{},{},{}]; //格式像这样,数据省略res.json({data:data});});html里仅仅声明一个table的框架:<table class="table b-t b-light" id="datatables"><thead><tr><th>姓名</th><th>年龄</th><th>JOB</th><th>描述</th><th>操作</th> <!--自定义列--></tr></thead><tbody></tbody></table>重头戏是js,这里有功能强大的字段,待我慢慢道来。

跟我学JQuery DataTables表格控件及应用实例——实现数据表格中带复杂表头布局定义的应用示例

跟我学JQuery DataTables表格控件及应用实例——实现数据表格中带复杂表头布局定义的应用示例
海市</td><td>02112345678</td><td>¥1,030</td> </tr>
<tr> <td>4</td><td> 杨 六 </td><td> 女 </td><td>68</td><td> 老 年 </td><td> 天
津市</td><td>02212345678</td><td>¥1,000.1</td> </tr>
<tr> <td>5</td><td> 赵 七 </td><td> 男 </td><td>52</td><td> 中 年 </td><td> 重
庆市</td><td>02312345678</td><td>¥3,000</td> </tr> <tr> <td>6</td><td> 张 张 三 </td><td> 男 </td><td>22</td><td> 青 年 </td><td>
<meta
name="viewport"
content="target-densitydpi=device-dpi,

jQuery+datatables插件实现ajax加载数据与增删改查功能示例

jQuery+datatables插件实现ajax加载数据与增删改查功能示例

jQuery+datatables插件实现ajax加载数据与增删改查功能⽰例本⽂实例讲述了jQuery+datatables插件实现ajax加载数据与增删改查功能。

分享给⼤家供⼤家参考,具体如下:这⾥给⼤家分享⼀下我在项⽬中⽤datatables实现ajax加载数据与增删改查注意,需要引⼊jquery、datatables、layerhtml代码:<div class="thead"><input placeholder="请输⼊搜索内容" id="searchTitle" type="text"/><button id="search" class="layui-btn layui-btn-small layui-btn-primary"><i class="layui-icon"> </i> 搜索</button><button id="add" class="layui-btn layui-btn-small layui-btn-primary"><i class="layui-icon"> </i> 新增</button><button id="change" class="layui-btn layui-btn-small layui-btn-primary"><i class="layui-icon"> </i> 编辑</button><button id="del" class="layui-btn layui-btn-small layui-btn-primary"><i class="layui-icon"> </i> 删除</button></div><table id="table" class="display" cellspacing="0" width="100%"><thead><tr><th>职业</th><th>姓名</th><th>性别</th><th>爱好</th></tr></thead></table>js代码://点击查找$("#search").click(function () {table.ajax.reload();});//初始化datatablesvar table = $('#example').DataTable({"searching": false,"serverSide": true,"bProcessing": true,"bPaginate": true, //翻页功能"bLengthChange": true, //改变每页显⽰数据数量"bFilter": true, //过滤功能"bSort": false, //排序功能"sPaginationType": "full_numbers","fnServerData": function (sSource, aoData, fnCallback) {var json = {"page": {"start": aoData[3].value,"length": aoData[4].value,},"search": {"xb": $("#searchTitle").val()}};$.ajax({"dataType": 'json',"type": "POST","url": server + "user/queryUser.do","contentType": "application/json; charset=utf-8","data": JSON.stringify(json),"success": function (data) {data.recordsTotal = data.page.recordsTotal;data.recordsFiltered = data.page.recordsTotal;fnCallback(data);}});},"oLanguage": {"sLengthMenu": "每页显⽰ _MENU_ 条记录","sZeroRecords": "抱歉,没有找到","sInfoEmpty": "没有数据","sInfoFiltered": "(从 _MAX_ 条数据中检索)","oPaginate": {"sFirst": "⾸页","sPrevious": "前⼀页","sNext": "后⼀页","sLast": "尾页"},"sZeroRecords": "没有检索到数据",},"aoColumns": [{"data": "zy"},{"data": "xm"},{"data": "xb"},{"data": "fov"}]});/////////////////////////////////////////////////////////////////////////////////增加$("#add").click(function () {layer.open({type: 1,skin: 'layui-layer-rim', //加上边框area: ['420px', '240px'], //宽⾼btn: ['确定'],yes: function (index, layero) {var json = {"zy": $("#zhiy").val(),"xm": $("#name").val(),"xb": $("#sex").val(),"fov_ck": $("#aihao").val()};$.ajax({type: "POST",url: server + "user/addUser.do",contentType: "application/json; charset=utf-8",data: JSON.stringify(json),dataType: "json",success: function (data) {if (data.success == true) {layer.msg(data.msg);} else if (data.success == false) {layer.msg(data.msg);}}});layer.close(index);table.ajax.reload();},content: '职业:' + '<input type="text" name="" id="zhiy" value=""/>' + '<br>姓名:' + '<input type="text" name="" id="name" value=""/>' + '<br>性别:'+ '<input type="text" name="" id="sex" value=""/>' + '<br>爱好:'+ '<input type="text" name="" id="aihao" value=""/>'});});//选中⼀⾏触发$('#example tbody').on('click', 'tr', function () {if ($(this).hasClass('selected')) {$(this).removeClass('selected');adatid = "";}else {table.$('tr.selected').removeClass('selected');$(this).addClass('selected');adatid = table.row(this).data().guid;adata = table.row(this).data().zy;bdata = table.row(this).data().xm;cdata = table.row(this).data().xb;ddata = table.row(this).data().fov;}});//////////////////////////////////////////////////////////////////////////////////////////修改$("#change").click(function () {if (adatid === '') {alert("请选中要修改的数据");} else {layer.open({type: 1,skin: 'layui-layer-rim', //加上边框area: ['420px', '240px'], //宽⾼btn: ['确定'],yes: function (index, layero) {var json = {"guid": adatid,"zy": $("#cid").val(),"xm": $("#cname").val(),"xb": $("#csex").val(),"fov_ck": $("#cage").val()};$.ajax({type: "POST",url: server + "user/updateUser.do",contentType: "application/json; charset=utf-8",data: JSON.stringify(json),dataType: "json",success: function (data) {if (data.success == true) {layer.msg(data.msg);} else if (data.success == false) {layer.msg(data.msg);}}});layer.close(index);table.ajax.reload();},content: '职业:' + '<input type="text" name="" id="cid"/>' + '<br>姓名:'+ '<input type="text" name="" id="cname"/>' + '<br>性别:'+ '<input type="text" name="" id="csex"/>' + '<br>爱好:'+ '<input type="text" name="" id="cage"/>'});}$("#cid").val(adata);$("#cname").val(bdata);$("#csex").val(cdata);$("#cage").val(ddata);});//////////////////////////////////////////////////////////////////////////////////删除$("#del").click(function () {if (adatid === '') {alert("请删除要修改的数据");} else {var json = {"guid": adatid};$.ajax({type: "POST",url: server + "user/deleteUser.do",contentType: "application/json; charset=utf-8",data: JSON.stringify(json),dataType: "json",success: function (data) {if (data.success == true) {layer.msg(data.msg);} else if (data.success == false) {layer.msg(data.msg);}}});table.ajax.reload();}});更多关于jQuery相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家jQuery程序设计有所帮助。

通过代码实例跟我学JQuery DataTables表格控件及应用实例(第2部分)

通过代码实例跟我学JQuery DataTables表格控件及应用实例(第2部分)

1.1通过代码实例跟我学JQuery DataTables表格控件及应用实例(第2部分)4、重新显示表格当对DataTable进行属性修改后,需要重新显示更新后的表格,可以调用fnDraw函数。

$(document).ready(function(jqueryEvent){var currentDataTable = $("#dataTableTagID").dataTable();/**对表格进行更新操作的代码*/c urrentDataTable.fnDraw();});5、多列排序/* Define two custom functions (asc and desc) for string sorting */jQuery.fn.dataTableExt.oSort['string-case-asc'] = function(x,y) {return ((x < y) ? -1 : ((x > y) ? 1 : 0));};jQuery.fn.dataTableExt.oSort['string-case-desc'] = function(x,y) {return ((x < y) ? 1 : ((x > y) ? -1 : 0));};$('#example').dataTable( {"aaSorting": [ [0,'asc'], [1,'asc'] ],"aoColumns": [null,null,{ "sType": 'string-case' },null,null]} );第3列采用自定义的排序函数实现排序。

"aoColumns": [ //这个属性下的设置会应用到所有列,按顺序没有是空{"mData": 'nickname'}, //mData 表示发请求时候本列的列明,返回的数据中相同下标名字的数据会填充到这一列{"mData": 'follower_count'},{"mData": 'rank'},{"mData": 'month_count'},{"mData": 'equity'},{"mData": 'month_ror'},{"mData": 'now_orders'},{"mData": 'profit_total'},{"sDefaultContent": ''}, // sDefaultContent 如果这一列不需要填充数据用这个属性,值可以不写,起占位作用{"sDefaultContent": '', "sClass": "action"},//sClass 表示给本列加class ],1.1.1DataTables属性配置应用示例1、DataTables的一些基础属性配置$(document).ready(function(jqueryEvent){$("#dataTableTagID").dataTable({"bPaginate": true, //翻页功能(是显示分页跳转的各个按钮)"bLengthChange": true, //改变每页显示数据数量(每页大小的下拉框)"bFilter": true, //过滤功能(是否启用客户端过滤器)"bSort": true, //排序功能(是否启用各列具有按列排序的功能)"bInfo": true,//页脚信息"bAutoWidth": true//自动宽度});});2、指定某列的排序规则下面的代码示例实现从第0列开始,以第3列倒序排列。

jQuery表格插件datatables用法详解

jQuery表格插件datatables用法详解

jQuery表格插件datatables⽤法详解⼀、Datatables简介DataTables是⼀个jQuery的表格插件。

这是⼀个⾼度灵活的⼯具,依据的基础逐步增强,这将增加先进的互动控制,⽀持任何HTML表格。

主要特点:⾃动分页处理即时表格数据过滤数据排序以及数据类型⾃动检测⾃动处理列宽度可通过CSS定制样式⽀持隐藏列易⽤可扩展性和灵活性国际化动态创建表格免费的⼆、如何使⽤在做后台的时候并没有美⼯和前端⼯程师来配合你做页⾯,为了显⽰数据并有⼀定的美感,我们可以使⽤jQuery的DataTables插件来帮助我们完成任务1、DataTables的默认配置$(document).ready(function() {$('#example').dataTable();} );2、DataTables的⼀些基础属性配置"bPaginate": true, //翻页功能"bLengthChange": true, //改变每页显⽰数据数量"bFilter": true, //过滤功能"bSort": false, //排序功能"bInfo": true,//页脚信息"bAutoWidth": true//⾃动宽度3、数据排序$(document).ready(function() {$('#example').dataTable( {"aaSorting": [[ 4, "desc" ]]} );} );从第0列开始,以第4列倒序排列4、隐藏某些列$(document).ready(function() {$('#example').dataTable( {"aoColumnDefs": [{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },{ "bVisible": false, "aTargets": [ 3 ] }] } );} );5、国际化$(document).ready(function() {$('#example').dataTable( {"oLanguage": {"sLengthMenu": "每页显⽰ _MENU_ 条记录","sZeroRecords": "抱歉,没有找到","sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据","sInfoEmpty": "没有数据","sInfoFiltered": "(从 _MAX_ 条数据中检索)","oPaginate": {"sFirst": "⾸页","sPrevious": "前⼀页","sNext": "后⼀页","sLast": "尾页"},"sZeroRecords": "没有检索到数据","sProcessing": "<img src='./loading.gif' />"}} );} );6、排序功能:$(document).ready(function() {$('#example').dataTable( {"aoColumns": [null,{ "asSorting": [ "asc" ] },{ "asSorting": [ "desc", "asc", "asc" ] },{ "asSorting": [ ] },{ "asSorting": [ ] }]} );} );7、数据获取⽀持4种:如下•DOM ⽂档数据•Javascript array js数组•Ajax source Ajax请求数据•Server side processing 服务器端数据三、实例讲解1、需求:如下图所⽰,对datatables的内容进⾏添加,编辑,删除的操作。

editable编辑用法

editable编辑用法

Editable是一个可以用于前端网页上,实现可编辑功能的插件。

它支持多种功能,例如点击列表中的某一项进行编辑,并可以保存编辑后的结果。

具体使用方法可能因实际应用场景和具体需求而异,但一般来说,可以通过以下步骤实现基本功能:
1. 在页面中引入Editable插件的CSS和JS文件。

2. 在需要实现编辑功能的列表元素上添加适当的class或id,以便插件可以识别目标元素。

3. 调用插件的初始化函数,将目标元素作为参数传入。

4. 根据实际需求设置插件的参数,例如是否显示删除按钮、编辑时是否允许修改标题等。

5. 根据实际需求调用插件的其他方法,例如获取编辑后的内容、保存编辑结果等。

以上信息仅供参考,具体使用方法可以参考Editable插件的官方文档或相关教程。

跟我学JQuery TableSorter表格控件——JQuery TableSorter功能特性及在线文档

跟我学JQuery TableSorter表格控件——JQuery TableSorter功能特性及在线文档
在 C/S 的应用系统开发实现中,数据的排序比较简单,而在 B/S 的 Web 应用系统的开发中, 表格数据的排序方式主要有两种:
第一种是让后端 Web 服务器端相关的程序将排序后的结果数据直接输出到客户端页面 中显示输出;
另外一种方式就是使用客户端相关的程序直接在浏览器的页面中排序,从而可以大大 地提高系统的响应性能。
7、翻译 JQuery TableSorter 表格控件官方网站的相关页面 由于 JQuery TableSorter 表格控件官方网站的页面都是英文版本,可以采用微软的 Bing
或者 Google 的浏览器 Chrome 在线翻译 JQuery TableSorter 表格控件官方网站的相关页面。
background-color: #8dbdd8; }
与该 CSS 样式定义相配套的:
(2)绿皮肤所对应的 CSS 样式定义的代码示例
table.tablesorter {
font-size: 12px;
background-color: #4D4D4D;
1.1 跟我学 JQuery TableSorter 表格控件——JQuery TableSorter 功能特
性及在线文档
1.1.1 JQuery TableSorter 表格控件功能特性及在线文档
1、JQuery TableSorter 表格控件主要的功能特性 在 Web 应用系统的开发实现中,经常需要提供对 Web 页面中的数据进行排序的功能,
tablesorter是一个可将普通的拥有thead和tbody标签的html表格由table标签定义转换为可排序的表格的jquery插件它可以直接在浏览器的客户端对数据表格中的数据进行排序而无需再次刷新页面和再次向web服务器端相关程序发送请求和获得返回在服务器端排序后的结果数据

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

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

基于JQuery可拖动列表格插件DataTables的踩坑记前⾔最近项⽬中在使⽤能够拖动列调整列位置顺序的表格插件---DataTables,这也是⽬前我找到的唯⼀⼀种存在有这种功能的插件。

在查找使⽤⽅法的过程中发现可⽤案例并不多,且⼤多⾔语不详。

本⽂将全⾯介绍此插件的使⽤过程。

如果不是有拖动列调整列位置顺序的需求,建议不要使⽤此插件,坑点较多。

后⾯有时间我会写⼀个名为,使⽤起来⽐这个插件强多了正⽂下载⽅式就是选择,Bootstrap,JQuery,DataTables,以及下⾯插件中ColReorder(此插件是拖动列所需的),在此只是提议,如何下载诸君⾃选服务器分页⽅式注意,本⽂只介绍服务器分页⽅式,因为客户端分页⽅式很简单,创建表格时写上必要的参数,然后把数据传⼊表格就完成了DataTables是基于JQuery和Bootstrap的,所以在使⽤此插件前需引⼊这两个库(框架)所需的⽂件引⼊在其他地⽅下载后的JQuery和Bootstrap及在DataTables官⽹下载的⽂件html代码如下:<table class="table table-striped display table-bordered" style="margin: 0;" cellspacing="0" width="100%" id="table"></table>js代码如下:服务器配置代码:踩坑:特别注意,这⾥的交互必须写在表格的ajax配置项⾥,如果写在其他地⽅传⼊数据,则点第⼆页后的页数时显⽰的页数总是第⼆页,且第⼀页⽆法点击let judgeTable = 0;function table() {if(_this.judgeTable) {//这⾥是为了在初始化时表格不销毁,否则会报错$('#table').DataTable().destroy();//销毁表格}_this.judgeTable = 1;$('#table').DataTable({colReorder: true,//启动列拖动scrollX: true,//左右滚动条ordering: false,//排序searching: false,//参与搜索lengthMenu: [10, 25, 50, 100],//设置分页⼤⼩选择项⽬pageLength: _this.pageSize,//设置分页⼤⼩displayStart: _this.pageNum - 1,//设置当前表格在第⼏页,从0开始serverSide: true,//是否开启服务器分页order: [[1, 'asc']],//asc按升序,desc按降序ajax: function (data, callback, settings) {//data参数中,data.length是单页记录条数;data.start是开始的记录序号;(data.start / data.length)+1是当前页码$.ajax({url: _this.$ajaxConfig.url + "role/page?pageNum=" + _this.pageNum + "&pageSize=" + _this.pageSize,type: "GET",contentType: "application/json",cache: false,xhrFields: {withCredentials: true},success: function (result) {if(result.code == 0) {let dataTable = [];//修改⾏数据字段数据,以使表格识别,其中result是你要放到表格中的数据,如果你获取到数据的字段和你在设置配置columns中的⼀致,则省略这个步骤result.data.list.forEach(function (item,index) {dataTable.push({id: item.id,name: ,remark: item.remark,enableEdit: item.enableEdit})})//修改设置数据字段,以使表格识别var returnData = {recordsTotal: result.data.total,recordsFiltered: result.data.total,data: dataTable};callback(returnData);}},error: function (error) {console.log(error);}});},columns: [//列设置{data: null,checkboxes: {//这⾥是复选框selectRow: true}},{title: "⽤户名",data: "userName",},{title: "描述信息",data: "remark"},{title: "编辑⽤户状态",data: null,render: function (data, type, row, meta) {//render内设置此列单元格内容,我这⾥是设置了按钮//row是json对象⾏数据,放到元素中时需转为json字符串let rowData = JSON.stringify(row);let className = '';let elementText = '';if(row.flag) {className = 'csbtn-yes';elementText = '启⽤';} else {className = 'csbtn-no';elementText = '禁⽤';}//这⾥特别需要注意的是传输数据rowData不能使⽤双引号包含,要么使⽤单引号,要么不使⽤引号return "<span class='csbtn " + className + "' data-table=" + rowData + " >" + elementText + "</span>";}}],"language": {"lengthMenu": "每页显⽰ _MENU_ 条数据","emptyTable": "暂⽆数据","info": "显⽰ _START_ 到 _END_ 共 _TOTAL_ 条","infoEmpty": "显⽰ 0 到 0 共 0 条","infoFiltered": "(从 _MAX_ 条中过滤)","thousands": ",","loadingRecords": "加载...","processing": "加载中...","search": "搜索:","zeroRecords": "未找到相关数据","select": {"rows" : ""},"paginate": {"first": "第⼀页","last": "最后⼀页","next": "下⼀页","previous": "上⼀页"}},});}表格的相关事件:踩坑:事件不要与创建表格代码写在⼀个函数内,否则单次触发事件后触发的次数会随着点击次数的增加,如:第⼀次触发⼀次,第⼆次点击后会⾃动触发两次改变分页⼤⼩事件:$('#table').on('length.dt',function(e,settings,len) {pageSize = len;//改变存储分页⼤⼩的变量,len为改变后的分页⼤⼩});换页事件:$('#table').on( 'page.dt', function () {pageNum = $('#table').DataTable().page() + 1;//改变存储当前页数的变量,$('#table').DataTable().page()⽅法获取到的是从0开始的当前页数});初始化事件:$('#table').on('init.dt',function(e,settings,len) {console.log(e,settings,len)});选中⾏效果事件:踩坑1:在添加点击事件时,必须先使⽤off()移除事件,否则在不刷新页⾯的前提下再次触发表格重新渲染后会导致点击⼀次后触发多次事件踩坑2:这⾥设置属性checked时使⽤的是JQuery的prop⽅法,坑点是必须不能使⽤attr来设置属性(使⽤后当点击过复选框之后再设置此属性则⽆效),因为JQuery在1.6版本后引⼊了⼀个prop这个⽅法,专门⽤来获取表单属性$(document).off( 'click', '#role-table tbody tr');$(document).on( 'click', '#role-table tbody tr', function () {//为每⾏设置类名,并且操作复选框if($(this).hasClass('selected')) {$(this).removeClass('selected');$(this).find('td>input').prop("checked",false);} else {if(!$(this).hasClass('estimateRole')) {$(this).addClass('selected');$(this).find('td>input').first().prop("checked",true);}}});//点击复选框是不会选中⾏的,所以还需要为复选框设置事件$(document).on( 'change', '#role-table tbody tr td input', function () {if($(this).parent().parent().hasClass('selected')) {$(this).parent().parent().removeClass('selected');$(this).parent().parent().find('td>input').prop("checked",false)} else {$(this).parent().parent().addClass('selected');$(this).parent().parent().find('td>input').first().prop("checked",true)}});$('#table').DataTable().rows('.selected').data();//获取选中的⾏(带有相应类名的⾏)多层表头:使⽤多层表头时,配置中的column需要换成columnFefscolumnDefs: [{"targets":[0],//第⼀列"orderable": false,"render": function (data, type, row, meta) {var text = "<input class='single-check-input' type='checkbox'>";return text;}},{"targets":["json"],//最后⼀列"render": function (data, type, row, meta) {console.log(data)var text = "";text = "<a href=# onclick=showCollisonJsonData(this)>查看详情</a>"return text;}},]配置表头函数:function configComplexHeader(headerInfo) {let _this = this;var theader = $('#detail-table-header');var headrFirstRow = $('<tr></tr>');var childHeaders = [];headerInfo.forEach(function (singleHeader) {var headerName = ;var colspanNum = singleHeader.childList.length;var thE = $('<th></th>',{colspan: colspanNum,text: headerName,style: "text-align:center"});headrFirstRow.append(thE);(singleHeader.childList).forEach(function (childObj) {var childHeadTitle = ;if (childHeadTitle === "json_data") {childHeadTitle = "操作";}childHeaders.push(childHeadTitle);});});var tmpThE = $('<th/>',{colspan: 1,});headrFirstRow.prepend(tmpThE);var headerSecondRow = $('<tr></tr>');childHeaders.forEach(function (childHeader) {var className = "normal";if (childHeader === "操作") {className = "json";}headerSecondRow.append($('<th/>',{text:childHeader,class: className}));});var tmpSecThE = $('<th></th>',{class: "check-all-input-th",html: "<input type='checkbox' class='check-all-input'>"});headerSecondRow.prepend(tmpSecThE);theader.append(headrFirstRow);theader.append(headerSecondRow);}//表头数据var headerInfo = [{"name":"碰撞字段","childList":[{"field":"col_c_cardno_3_0","name":"⾝份证号/⾝份证号"}]},{"name":"⽕车票数据","childList":[{"field":"c_mobile_1_0","name":"电话"},{"field":"c_email_2_0","name":"E-mail地址"},{"field":"a_name_1_0","name":"姓名"},{"field":"a_time_2_0","name":"订票时间"},{"field":"a_time_3_0","name":"出发时间"}, {"name":"户政⼈⼝","childList":[{"field":"a_name_1_1","name":"姓名"},{"field":"a_sex_2_1","name":"性别"},{"field":"a_address_3_1","name":"地址"},{"field":"a_marriage_4_1","name":"婚姻状况"},{"field":"a_edu_level_5_1","name":"⽂化程度"} configComplexHeader(headerInfo);效果图如下:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 杨教授工作室,版权所有,盗版必究, 2/3 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
5、在 Java 平台中的应用文章 /Articles/193068/Adding-data-management-CRUD-functio nalities-to-the
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.1 术
JQuery DataTables-Editable 可在线编辑数据的表格控件相关应用技
1、DataTables-Editable 主要的功能特性 (1)在线表格的单元的编辑 (2)选择/删除表格中的数据行 (3)添加新的数据行 也就是在 JQuery DataTables 插件的基础上增加了在线数据编辑的功能。 2 、 DataTables-Editable 项 目 的 下 载 URL 地 址
Hale Waihona Puke 3 杨教授工作室,版权所有,盗版必究, 3/3 页
/p/jquery-datatables-editable/
1 杨教授工作室,版权所有,盗版必究, 1/3 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
3、下载系统库文件 在国内访问 Google 的网站经常连接不成功。 4、技术介绍及参考资料 /p/jquery-datatables-editable/wiki/Overview
相关文档
最新文档