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 相关文章推荐
JQUERY的属性选择符和自定义选择符使用方法(二)
Apr 07 Javascript
js控制的遮罩层实例介绍
May 29 Javascript
解析jquery中的ajax缓存问题
Dec 19 Javascript
使用jquery写个更改表格行顺序的小功能
Apr 29 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
AngularJS基础知识
Dec 21 Javascript
jQuery获取标签文本内容和html内容的方法
Mar 27 Javascript
jQuery通过Ajax返回JSON数据
Apr 28 Javascript
实现JavaScript高性能的数据存储
Dec 11 Javascript
Javascript前端经典的面试题及答案
Mar 14 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
Vue+Express实现登录状态权限验证的示例代码
May 05 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写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
机器学习10大经典算法详解
2017/12/07 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
求职简历中个人的自我评价
2013/12/01 职场文书
大学生创业计划书
2014/08/14 职场文书
环保项目建议书
2014/08/26 职场文书
公务员个人考察材料
2014/12/23 职场文书
毕业生党员个人总结
2015/02/14 职场文书
土建施工员岗位职责
2015/04/11 职场文书
2015年质检工作总结
2015/05/04 职场文书
女方离婚起诉书
2015/05/18 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL