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 String 对象
Apr 25 Javascript
js setattribute批量设置css样式
Nov 26 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
Sep 06 Javascript
javascript回到顶部特效
Jul 30 Javascript
JavaScript中apply方法的应用技巧小结
Sep 29 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
jQuery查找dom的几种方法效率详解
May 17 jQuery
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 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
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
Javascript中replace()小结
2015/09/30 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
Python的gevent框架的入门教程
2015/04/29 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
大一军训感言
2014/01/09 职场文书
入党积极分子评语
2014/05/04 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL