Layui表格行工具事件与数据回填方法


Posted in Javascript onSeptember 13, 2019

使用Layui数据表格实现行工具事件与Layui表单弹框与数据回填具体步骤如下:

步骤一:布置行工具栏样式与数据表格初始化,代码如下:

<script type="text/html" id="barDemo2">
    <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="compile">编辑</a>
    <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="delete">删除</a>
 </script>
var listEnquiryQuote;//询价记录表格
layui.use(['table','form','layer'], function () {
//询价记录表格初始化
      listEnquiryQuote = table.render({
        elem: '#EnquiryQuote'
       , method: 'post'
       , url: '/Purchase/AwaitQueryPrice/SelectEnquiry' //数据接口
       , id: 'idEnquiryQuote'
       , page: true //开启分页
       , cols: [[ //表头
         { type: 'radio' }
        , { field: 'EnquiryID', title: '询价ID', hide: true }
        , { field: 'SupplierName', title: '供应商名称', width: 180 }
        , { field: 'CompanyName', title: '公司英文名', width: 180 }
        , { field: 'SupplierID', title: '供应商ID', hide: true }
        , { field: 'ProductName', title: '产品名称', width: 90 }
        , { field: 'Model', title: '型号', width: 120 }
        , { field: 'Trademark', title: '原厂品牌', width: 90 }
        , { field: 'PrimaryNumber', title: '原厂料号', width: 90 }
        , { field: 'QualityName', title: '品质', width: 60 }
        , { field: 'QualityID', title: '品质ID', hide: true }
        , { field: 'UnitName', title: '单位', width: 60 }
        , { field: 'UnitID', title: '单位ID', hide: true }
        , { field: 'FPackaging', title: '封装', width: 90 }
        , { field: 'BPackaging', title: '包装', width: 60 }
        , { field: 'DateCodeS', title: '生产日期', width: 105 }
        , { field: 'Describe', title: '描述', width: 150 }
        , { field: 'DeliveryTime', title: '货期', width: 60 }
        , { field: 'MinOrder', title: '最小订购量', width: 105 }
        , { field: 'QuantityDemanded', title: '需求量', width: 80 }
        , { field: 'TaxPoint', title: '税点', width: 60 }
        , { field: 'Quote', title: '报价', width: 70 }
        , { field: 'EnquiryDateS', title: '询价日期', width: 105 }
        , { field: 'AdoptQuantity', title: '采纳量', width: 80 }
        , { fixed: 'right', title: '操作', toolbar: '#barDemo2', width: 120 }
       ]]
        , limit: 10
        , response: {
          statusName: 'success' //规定数据状态的字段名称,默认:code
         , statusCode: true //规定成功的状态码,默认:0
         , countName: 'totalRows' //规定数据总数的字段名称,默认:count
        }
        , request: {
          pageName: 'curPage' //页码的参数名称,默认:page
         , limitName: 'pageSize'
        }
      });
});

效果图如下:

Layui表格行工具事件与数据回填方法

步骤二:监听行点击事件:

layui.use(['table','form','layer'], function () {
//监听询价记录行工具事件
      table.on('tool(EnquiryQuote)', function (obj) {
        var data = obj.data;
        //修改
        if (obj.event === 'compile') {
          if (data.AdoptQuantity == null || data.AdoptQuantity == 0) {
            //弹出修改询价记录模态框
            layer.open({
              type: 1,
              title: '修改询价记录',
              area: ['950px', '600px'],
              content: $('#UpdateEnquiry'), //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响
            });
          } else {
            layer.msg('已有采购单采纳该询价,不得编辑!', { icon: 0 });
          }
          //重置
          $("#reset4").click(function () {
            //数据回填
            form.val("UpdateEnquiry", data);
            form.val("UpdateEnquiry", {
              "DateCode": data.DateCodeS
            })
            if (data.SupplierID != null) {
              //给表单赋值
              form.val("UpdateEnquiry", {
                "State": "true"
              })
            } else {
              //给表单赋值
              form.val("UpdateEnquiry", {
                "State": ""
              })
            }
          });
          $("#reset4").click();
    } 
});

应注意的表单必须有layui-form类与lay-filter属性,本文献lay-filter属性值为UpdateEnquiry,可自定义

把回填事件写入重置按钮点击事件这样设置的好处是在点击重置是在点击重置时可以重新回填数据,可以给用户选择的空间,效果图如下:

Layui表格行工具事件与数据回填方法

以上这篇Layui表格行工具事件与数据回填方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript基础知识之数据类型
Aug 06 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
Jan 26 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
jquery.serialize() 函数语法及简单实例
Jul 08 Javascript
vue 点击按钮实现动态挂载子组件的方法
Sep 07 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
JS实现滑动导航效果
Jan 14 Javascript
Node登录权限验证token验证实现的方法示例
May 25 Javascript
关于vue的列表图片选中打钩操作
Sep 09 Javascript
Nuxt的动态路由和参数校验操作
Nov 09 Javascript
layui使用表格渲染获取行数据的例子
Sep 13 #Javascript
layui-table表复选框勾选的所有行数据获取的例子
Sep 13 #Javascript
layui表格数据复选框回显设置方法
Sep 13 #Javascript
对layui初始化列表的CheckBox属性详解
Sep 13 #Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 #Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 #Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 #Javascript
You might like
一个php作的文本留言本的例子(二)
2006/10/09 PHP
php 移除数组重复元素的一点说明
2008/11/27 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
Python多线程实例教程
2014/09/06 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
介绍一下sql server的安全性
2014/08/10 面试题
广告传媒专业应届生求职信
2014/03/01 职场文书
安全标语大全
2014/06/10 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL
详解Python flask的前后端交互
2022/03/31 Python