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 相关文章推荐
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
Mootools 1.2教程 定时器和哈希简介
Sep 15 Javascript
javascript Array对象基础知识小结
Nov 16 Javascript
js实现的标题栏新消息闪烁提示效果
Jun 06 Javascript
js继承call()和apply()方法总结
Dec 08 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
Nov 13 Javascript
微信小程序页面渲染实现方法
Nov 06 Javascript
vue实现日历表格(element-ui)
Sep 24 Javascript
js实现弹窗猜数字游戏
Nov 26 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
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
解析isset与is_null的区别
2013/08/09 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
什么是数组名
2012/05/10 面试题
行政助理岗位职责范文
2013/12/03 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
购房协议书范本
2014/04/11 职场文书
认识实习感想
2015/08/10 职场文书
干部考核工作总结
2015/08/12 职场文书
2015团员个人年度总结
2015/11/24 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书