首页 > javascript相关 > jquery教程 > 正文

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

2018-11-27 22:24:16

本文实例讲述了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();});//初始化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表格(table)操作技巧汇总》、《jQuery操作json数据技巧汇总》、《jQuery form操作技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结

希望本文所述对大家jQuery程序设计有所帮助。

  • 相关标签:jquery教程
  • 本文发布HTML5中文学习网 ,转载请注明出处,感谢您!
  • 相关文章


  • 曝网友假装外国人写投诉信 ofo秒退押金并回函致歉
  • 苹果市值缩水逾2000亿美元 遭多家投行下调目标价
  • Asp.net Core与类库读取配置文件信息的方法_实用技巧
  • asp.net在Repeater嵌套的Repeater中使用复选框详解_实用技巧
  • 利用IIS调试ASP.NET网站程序的完整步骤_实用技巧
  • Asp.Net Core轻松学习系列之配置文件_实用技巧
  • ASP.NET 页生命周期概述(小结)_实用技巧
  • 详解ASP.NET Core WebApi 返回统一格式参数_实用技巧
  • 2018年网络流行语有哪些?2018年十大网络流行语盘点
  • 华为首席财务官孟晚舟被暂扣 深圳市政府要求加方立即放人!
  • 独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    作者信息

    kevin

    永远在学习的路上!

    相关教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 热门教程