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 相关文章推荐
运用jQuery定时器的原理实现banner图片切换
Oct 22 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
Nov 17 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
BootStrap的两种模态框方式
May 10 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
clipboard在vue中的使用的方法示例
Oct 19 Javascript
小程序实现分类页
Jul 12 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
Aug 08 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 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
晶体管单管来复再生式收音机
2021/03/02 无线电
zf框架的Filter过滤器使用示例
2014/03/13 PHP
ThinkPHP分页实例
2014/10/15 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
JavaScript中常用的运算符小结
2012/01/18 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python中函数传参详解
2016/07/03 Python
python算法表示概念扫盲教程
2017/04/13 Python
Python实现的桶排序算法示例
2017/11/29 Python
python学生管理系统学习笔记
2019/03/19 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
Python tkinter模版代码实例
2020/02/05 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
《宿建德江》教学反思
2014/04/23 职场文书
特教教师先进事迹
2014/05/21 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
java实现web实时消息推送的七种方案
2022/07/23 Java/Android