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 相关文章推荐
java script编程起步(第三课)
Jan 10 Javascript
语义化 H1 标签
Jan 14 Javascript
循环 vs 递归浅谈
Feb 28 Javascript
简单的js表单验证函数
Oct 28 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
Mar 02 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
jQuery实现文章图片弹出放大效果
Apr 06 jQuery
用Vue编写抽象组件的方法
May 06 Javascript
JS函数进阶之继承用法实例分析
Jan 15 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
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
详解Vue如何支持JSX语法
2017/11/10 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python多进程原理与用法分析
2018/08/21 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
聚美优品陈欧广告词
2014/03/14 职场文书
篝火晚会主持词
2014/03/25 职场文书
交通安全寄语大全
2014/04/08 职场文书
房屋转让协议书
2014/04/11 职场文书
学生期末评语大全
2014/04/30 职场文书
升学宴来宾致辞
2015/07/27 职场文书
《鲸》教学反思
2016/02/23 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python