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 相关文章推荐
Code:findPosX 和 findPosY
Dec 20 Javascript
js 纯数字不重复排列的另类方法
Jul 17 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 Javascript
react.js 翻页插件实例代码
Jan 19 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
jquery实现提示语淡入效果
May 05 jQuery
vue引入ueditor及node后台配置详解
Jan 03 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
js实现简单的贪吃蛇游戏
Apr 23 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中的加密功能
2006/10/09 PHP
聊天室php&amp;mysql(二)
2006/10/09 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
js实现动态时钟
2020/03/12 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
python3中eval函数用法使用简介
2019/08/02 Python
Python 高效编程技巧分享
2020/09/10 Python
pytorch中index_select()的用法详解
2021/01/06 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
中学教师自我鉴定
2014/02/07 职场文书
工作证明格式及范本
2014/09/12 职场文书
公司离职证明标准格式
2014/11/18 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
代理词怎么写
2015/05/25 职场文书
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers