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 相关文章推荐
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
Jan 14 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
Aug 07 Javascript
clipboard在vue中的使用的方法示例
Oct 19 Javascript
记录一次开发微信网页分享的步骤
May 07 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
May 17 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
JQuery的一些小应用收集
2010/03/27 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
python socket 超时设置 errno 10054
2014/07/01 Python
Python引用模块和查找模块路径
2016/03/17 Python
python的变量与赋值详细分析
2017/11/08 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
python manage.py runserver流程解析
2019/11/08 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
个人合作协议书范本
2014/04/18 职场文书
员工试用期自我评价
2014/09/18 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python