jQuery+datatables插件实现ajax加载数据与增删改查功能示例
本文实例讲述了jQuery+datatables插件实现ajax加载数据与增删改查功能。分享给大家供大家参考,具体如下:
这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查
注意,需要引入jquery、datatables、layer
html代码:
o搜索 y新增 编辑 删除
js代码:
//点击查找 $("#search").click(function(){ table.ajax.reload(); }); //初始化datatables vartable=$('#example').DataTable({ "searching":false, "serverSide":true, "bProcessing":true, "bPaginate":true,//翻页功能 "bLengthChange":true,//改变每页显示数据数量 "bFilter":true,//过滤功能 "bSort":false,//排序功能 "sPaginationType":"full_numbers", "fnServerData":function(sSource,aoData,fnCallback){ varjson={ "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){ varjson={ "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); }elseif(data.success==false){ layer.msg(data.msg); } } }); layer.close(index); table.ajax.reload(); }, content:'职业:'+''+'
姓名:' +''+'
性别:' +''+'
爱好:' +'' }); }); //选中一行触发 $('#exampletbody').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){ varjson={ "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); }elseif(data.success==false){ layer.msg(data.msg); } } }); layer.close(index); table.ajax.reload(); }, content:'职业:'+' '+'
姓名:' +''+'
性别:' +''+'
爱好:' +'' }); } $("#cid").val(adata); $("#cname").val(bdata); $("#csex").val(cdata); $("#cage").val(ddata); }); //////////////////////////////////////////////////////////////////////////////// //删除 $("#del").click(function(){ if(adatid===''){ alert("请删除要修改的数据"); }else{ varjson={ "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); }elseif(data.success==false){ layer.msg(data.msg); } } }); table.ajax.reload(); } });
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇总》、《jQuery操作json数据技巧汇总》、《jQueryform操作技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。