jQuery+datatables插件实现ajax加载数据与增删改查功能示例
时间:2019-04-14
本文章向大家介绍jQuery+datatables插件实现ajax加载数据与增删改查功能示例,主要包括jQuery+datatables插件实现ajax加载数据与增删改查功能示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了jQuery+datatables插件实现ajax加载数据与增删改查功能。分享给大家供大家参考,具体如下:
这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查
注意,需要引入jquery、datatables、layer
html代码:
<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(); }); //初始化datatables var 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表格(table)操作技巧汇总》、《jQuery操作json数据技巧汇总》、《jQuery form操作技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
- 充斥着AI生成内容的世界,你能辨别虚拟与现实吗?
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(71)-微信公众平台开发-公众号管理
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(69)-微信公众平台开发-功能概述
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(68)-微信公众平台开发- 资源环境准备
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- 一口价!3杂7bc.com16万易主
- Silverlight初级教程-动画
- WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理
- [原创-总结]WCF技术剖析系列总结篇
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
- 分布式高并发下mysql数据库读写分离
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件
- 身临其境的建筑体验:3D打印和人工智能相结合的“星形胶质细胞”
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ElementUI使用Cascader实现省市区三级联动
- Js给数组对象新增属性
- idea中使用逆向工程----三部曲
- 《JSON笔记之二》----封装JSONUtil
- Spring源码学习笔记(11)——Event体系
- Spring源码学习笔记(12)——IoC容器启动流程
- HashMap详解
- ElementUI使用autocomplete组件输入搜索
- Hacking with iOS: SwiftUI Edition - 愿望清单项目(三)
- 浏览器在线预览offce,vue-pdf预览pdf文件
- vivo商城前端架构升级-总览篇
- 《JSON笔记之三》---postman中传入json串
- Spring源码学习笔记(13)——JDBC
- java系列之注解
- NodeJs初入Http模块和Url模块