layui实现显示数据表格、搜索和修改功能示例


Posted in Javascript onJune 03, 2020

本文实例讲述了layui实现显示数据表格、搜索和修改功能。分享给大家供大家参考,具体如下:

<div style="text-align: center" id='btn'>
 <div class="layui-inline">
  <input class="layui-input" name="keyword" id="demoReload" autocomplete="off">
 </div>
 <button class="layui-btn" data-type="reload">搜索</button>
</div>
<table class="layui-hide" id="test"></table>
<script>
layui.use('table', function(){
 var table = layui.table;
 table.render({
 elem: '#test'
 ,url:'/getdata.php'
 ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
 ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
  layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
  //,curr: 5 //设定初始在第 5 页
  ,groups: 1 //只显示 1 个连续页码
  ,first: false //不显示首页
  ,last: false //不显示尾页
  
 }
 ,cols: [[
  {field:'id', width:80, title: 'ID', sort: true}
  ,{field:'columnname', width:80, title: '字段名'}
  ,{field:'descriptionCN', width:80, title: '中文描述', sort: true}
  ,{field:'name', width:80, title: '名称'}
  ,{field:'description_table', title: '表描述', width: '30%', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
  ,{field:'description', title: '字段类型', sort: true}
  ,{field:'primaryKey', title: '主键', sort: true}
  ,{field:'class', width:137, title: '分类', sort: true}
 ]]
 });
 var $ = layui.$, active = {
 reload: function(){
  var demoReload = $('#demoReload');
  
  //执行重载
  table.reload('test', {
  page: {
   curr: 1 //重新从第 1 页开始
  }
  ,where: {
   keyword: demoReload.val()
  }
  });
 }
 };
 
 $('#btn .layui-btn').on('click', function(){
 var type = $(this).data('type');
 active[type] ? active[type].call(this) : '';
 });
 
});
</script>

引用样式和js,这是必须的。

后台返回数据格式

{
 "code": 0,
 "msg": "",
 "count": 4,
  "data:{}
}

数据表格单元格数据修改

<script>
layui.use('table', function(){
 var table = layui.table;
 table.render({
  elem: '#test'
  ,url:'/classdata.php'
  ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
  ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
   layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
   //,curr: 5 //设定初始在第 5 页
   ,groups: 1 //只显示 1 个连续页码
   ,first: false //不显示首页
   ,last: false //不显示尾页
   
  }
  ,cols: [[
   {field:'id', width:80, title: 'ID', sort: true}
   ,{field:'columnname', width:80, title: '字段名'}
   ,{field:'descriptionCN', width:80, title: '中文描述', sort: true}
   ,{field:'name', width:80, title: '名称'}
   ,{field:'description_table', title: '表描述', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
   ,{field:'description', title: '字段类型'}
   ,{field:'primaryKey', title: '主键'}
   ,{field:'class', title: '分类'}
   ,{field:'checkclass', title: '用户标注','edit':'text'}
   ,{field:'reason', title: '标注理由','edit':'text'}
  ]]
 });
 
 //监听单元格编辑
 table.on('edit(test)', function(obj){
  var value = obj.value //得到修改后的值
  ,data = obj.data //得到所在行所有键值
  ,field = obj.field; //得到字段
 
  if(value){
   $.post('doclass.php',{'id':data.id,'field':field,'value':value},function(data){
      console.log(data)
     data = $.parseJSON(data); 
     if(data.status == 1){
      layer.msg('修改成功,请等待管理员的审核');
      location.href=location.href;
     }else{
      layer.msg(data.msg);
     }
 
   })
  }
 });
 
});
</script>

在表格初始化的时候加上 'edit':'text' 就可以编辑

然后再添加一个监听的单元格事件

希望本文所述对大家基于layui框架的程序设计有所帮助。

Javascript 相关文章推荐
用javascript操作xml
Nov 04 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
50个比较实用jQuery代码段
Sep 18 Javascript
JS实现日期加减的方法
Nov 29 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
javascript中基本类型和引用类型的区别分析
May 12 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
javascript帧动画(实例讲解)
Sep 02 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
javascript高仿热血传奇游戏实现代码
Feb 22 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
微信小程序文章详情功能完整实例
Jun 03 #Javascript
VueQuillEditor富文本上传图片(非base64)
Jun 03 #Javascript
微信小程序文章列表功能完整实例
Jun 03 #Javascript
Angular8 简单表单验证的实现示例
Jun 03 #Javascript
JS实现前端动态分页码代码实例
Jun 02 #Javascript
在Vue中创建可重用的 Transition的方法
Jun 02 #Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 #jQuery
You might like
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
浅谈python迭代器
2017/11/08 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
网游商务专员求职信
2013/10/15 职场文书
派出所所长先进事迹
2014/05/19 职场文书
党员教师一句话承诺
2014/05/30 职场文书
品质标语大全
2014/06/21 职场文书
报效祖国演讲稿
2014/09/15 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang