使用LayUI操作数据表格
来源:互联网 发布:mysql如何查看表 编辑:程序博客网 时间:2024/05/29 00:32
搜索
在table标签的上方,加入这样一组html
<div class="demoTable"> 搜索商户: <div class="layui-inline"> <input class="layui-input" name="keyword" id="demoReload" autocomplete="off"> </div> <button class="layui-btn" data-type="reload">搜索</button></div>
在js加入初始化代码和定义加载方法
layui.use('table', function(){ var table = layui.table; //方法级渲染 table.render({ elem: '#LAY_table_user' ,url: 'UVServlet' ,cols: [[ {checkbox: true, fixed: true} ,{field:'id', title: 'ID', width:80, sort: true, fixed: true} ,{field:'aid', title: '商户', width:80, sort: true} ,{field:'uv', title: '访问量', width:80, sort: true,edit:true} ,{field:'date', title: '日期', width:180} ,{field:'datatype', title: '日期类型', width:100} ]] ,id: 'testReload' ,page: true ,height: 600 }); var $ = layui.$, active = { reload: function(){ var demoReload = $('#demoReload'); table.reload('testReload', { where: { keyword: demoReload.val() } }); } };)};
绑定click点击事件
$('.demoTable .layui-btn').on('click', function(){ var type = $(this).data('type'); active[type] ? active[type].call(this) : '';});
此时点击查询按钮,会将keyword这个关键字传到后端,接下来就是自己处理查询关键字业务了。
到目前为止,搜索也有了,分页也有了,对了,分页会自动传到后端page,limit2个值到后台,相当于(pageindex,pagesize)
预览下效果
看看请求的参数
从参数可以看出,数据表格默认是get请求
给表格增加操作按钮
首先加入一组html,放到table标签下面,代码如下
<table class="layui-hide" id="LAY_table_user" lay-filter="useruv"></table><script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-primary layui-btn-mini" lay-event="detail">查看</a> <a class="layui-btn layui-btn-mini" lay-event="edit">编辑</a> <a class="layui-btn layui-btn-danger layui-btn-mini" lay-event="del">删除</a></script>
然后在js中指定工具条
//方法级渲染 table.render({ elem: '#LAY_table_user' ,url: 'UVServlet' ,cols: [[ {checkbox: true, fixed: true} ,{field:'id', title: 'ID', width:80, sort: true, fixed: true} ,{field:'aid', title: '商户', width:80, sort: true} ,{field:'uv', title: '访问量', width:80, sort: true,edit:true} ,{field:'date', title: '日期', width:180} ,{field:'datatype', title: '日期类型', width:100} ,{field:'right', title: '操作', width:177,toolbar:"#barDemo"} ]] ,id: 'testReload' ,page: true ,height: 600 });
界面效果如下
接下来需要给按钮绑定事件,来完成功能操作
在LayUI里面,一般采用table.on()来表示事件,例如这个
//监听表格复选框选择 table.on('checkbox(useruv)', function(obj){ console.log(obj) });
我勾选一个复选框,就打印一个日志
加入以下js代码,来绑定工具条事件
//监听工具条 table.on('tool(demo)', function(obj){ var data = obj.data; if(obj.event === 'detail'){ layer.msg('ID:'+ data.id + ' 的查看操作'); } else if(obj.event === 'del'){ layer.confirm('真的删除行么', function(index){ obj.del(); layer.close(index); }); } else if(obj.event === 'edit'){ layer.alert('编辑行:<br>'+ JSON.stringify(data)) } });
这时候,点击按钮就会有反应了。这里说明一下
接下来就是把数据传递到后端,直接将js改造如下
//监听工具条table.on('tool(useruv)', function(obj){ var data = obj.data; if(obj.event === 'detail'){ layer.msg('ID:'+ data.id + ' 的查看操作'); } else if(obj.event === 'del'){ layer.confirm('真的删除行么', function(index){ console.log(data); $.ajax({ url: "UVServlet", type: "POST", data:{"uvid":data.id,"memthodname":"deleteuv","aid":data.aid}, dataType: "json", success: function(data){ if(data.state==1){ //删除这一行 obj.del(); //关闭弹框 layer.close(index); layer.msg("删除成功", {icon: 6}); }else{ layer.msg("删除失败", {icon: 5}); } } }); }); } else if(obj.event === 'edit'){ layer.prompt({ formType: 2 ,title: '修改 ID 为 ['+ data.id +'] 的访问量' ,value: data.uv }, function(value, index){ //这里一般是发送修改的Ajax请求 EidtUv(data,value,index,obj); }); }});编辑的方法function EidtUv(data,value,index,obj) { $.ajax({ url: "UVServlet", type: "POST", data:{"uvid":data.id,"memthodname":"edituv","aid":data.aid,"uv":value}, dataType: "json", success: function(data){ if(data.state==1){ //关闭弹框 layer.close(index); //同步更新表格和缓存对应的值 obj.update({ uv: value }); layer.msg("修改成功", {icon: 6}); }else{ layer.msg("修改失败", {icon: 5}); } } });}
预览效果
至此,数据表格的绑定、展示、分页、搜索、查看、编辑、删除、排序 功能都已经完成,是不是很简单?
此处粘贴出完整的页面代码
View Code
应大家要求,将servlet代码贴出来,其中用到了json.jar
View Code
阅读全文
0 0
- 使用LayUI操作数据表格
- layui数据表格
- 关于layui数据表格的分页操作的学习笔记。
- layui数据表格序号列
- 如何快速创建一个LayUI 数据表格
- layui-表格
- php+layui创建表格使用实例
- layUI rable 初始化加载数据、数据刷新表格、传参数
- layui框架table 数据表格的方法级渲染
- 使用jq对表格数据进行操作
- layui使用
- layui使用
- layui 数据表格 根据值(1=业务,2=机构)显示中文名称
- layui 数据表格 根据值(1=业务,2=机构)显示中文名称
- JS操作DOM 使用表格动态展示数据
- 使用Ext.grid.column.Action操作表格数据
- 使用Ext.grid.column.Action操作表格数据
- JS操作DOM 使用表格动态展示数据
- Activity和Service 使用Binder进行通信
- Vue之父子兄弟组件间通信
- 递归和非递归分别实现strlen
- java 怎么在控制台就可以监听键盘的输入(不用敲回车),比如连续输入三个a,系统提示停止输入
- easyui中打开新的面板跨域加载页面(没什么卵用这个)
- 使用LayUI操作数据表格
- Makefile中:=与=区别
- SpringBoot集成MyBatis的分页插件PageHelper
- 前端需要了解的 SSO 与 CAS 知识
- python内置函数【A-C】
- 统计学学习笔记——(4)差异性
- 图像分割—基于图的图像分割(Graph-Based Image Segmentation)
- Vagrant和virtualbox安装问题总结
- Android简单实现实时监听网络状态