【前端】Layui的表格常用功能,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件

news2024/11/18 8:23:11

欢迎来到《小5讲堂》
大家好,我是全栈小5。
这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 核心方法
  • 常用模块
  • 表单按钮事件
  • 表格字段事件
  • 文章推荐

前言

最近在维护老系统,尽量使用过layui,但是时间久了,总会忘记一些方法的使用。
因此通过本篇文章大概记录常用的功能方法,比如,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件等

核心方法

在 layui 中,layui.use() 方法是用来加载和使用 layui 模块的主要方法。
它接受一个数组作为参数,数组中包含了需要使用的 layui 模块的名称,同时也可以传入一个回调函数来处理模块加载完成后的逻辑。
具体语法如下:

layui.use(['module1', 'module2'], function(){
  // 在这里编写模块加载完成后的逻辑
});

在这个方法中,layui.use() 会按照参数中指定的模块顺序加载对应的模块,在所有模块加载完成后,会执行回调函数中的逻辑。
在回调函数中可以进行具体的模块使用和操作,确保在模块加载完成后再进行相应的处理。
需要注意的是,layui.use() 方法在页面中使用 layui 模块时是必须的,因为 layui 采用异步加载模块的机制,通过 layui.use() 方法可以确保模块加载完成后再进行后续逻辑处理,避免出现模块未加载完成就调用的情况。

常用模块

var $ = layui.$;
var layer = layui.layer;
var table = layui.table;
var form = layui.form;

在 layui 中,常用的模块包括但不限于以下几个:
1.layui.$
这是 layui 的 jQuery 版本,可以用来操作 DOM、事件处理等功能。

2.layui.layer
弹出层模块,用于显示各种类型的弹出窗口,包括提示框、询问框、加载层等,提供丰富的参数和回调函数来定制不同需求的弹出窗口。

3.layui.table
数据表格模块,用于展示和操作数据表格,支持表格的渲染、事件监听、数据操作等功能。

4.layui.form
表单模块,用于处理表单元素的渲染、事件监听、表单验证等功能,可以轻松实现各种表单操作和交互效果。

除了上述列出的模块,layui 还包含了众多其他常用的模块,如日期时间模块、上传模块、滑块模块等,可以根据实际需求来选择加载并使用对应的模块。

表单按钮事件

Html设置,把按钮标签包含在form表单标签里,否则设置的事件无效。
两个主要属性lay-filter,lay-submit

<form>
    <button type="submit" lay-filter="btnForm" lay-submit>保存</button>
</form>

js设置,记得在方法后面加上一个return false,否则会自动刷新页面

form.on('submit(btnForm)', function (d) {
  
    return false  
})

表格字段事件

表单操作按钮的默认和自定义事件,都是会触发同一个方法,需要带上指定属性,设置不同的值来区分事件
如果想在Layui的表格中使用templet重新初始化生成<a>标签,并且绑定点击事件,可以在定义表格列时使用templet属性来指定自定义模板,然后在模板中生成<a>标签,并且为其添加点击事件。下面是一个示例代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Layui Table 表格字段 templet 绑定事件</title>
  <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.6.8/css/layui.css">
</head>
<body>
 
<table id="demo" lay-filter="test"></table>
 
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/layui/2.6.8/layui.js"></script>
<script>
layui.use(['table', 'jquery'], function(){
  var table = layui.table;
  var $ = layui.jquery;
  
  // 渲染表格
  table.render({
    elem: '#demo',
    url: '/demo/table/user/', // 数据接口
    cols: [[ // 表头
      {field: 'id', title: 'ID', width: 80, sort: true},
      {field: 'username', title: '用户名', width: 120},
      {field: 'email', title: '邮箱', width: 150},
      {field: 'operation', title: '操作', templet: '#operationTpl'} // 自定义操作列,使用 templet 属性指定模板
    ]]
  });
  
  // 监听行工具事件
  table.on('tool(test)', function(obj){
    var data = obj.data; // 获取当前行数据
    var layEvent = obj.event; // 获得 lay-event 对应的值
    if(layEvent === 'detail'){
      layer.msg('查看操作');
    } else if(layEvent === 'edit'){
      layer.msg('编辑操作');
    } else if(layEvent === 'delete'){
      layer.confirm('确定删除该行数据?', function(index){
        // 这里写删除行数据的逻辑
        layer.close(index);
      });
    }
  });
  
  // 绑定自定义操作列的点击事件
  $(document).on('click', '.custom-operation', function(){
    var id = $(this).data('id'); // 获取操作对应的数据 ID
    // 在这里写自定义操作的逻辑
    console.log('点击了操作,ID为:' + id);
  });
});
</script>

<!-- 自定义操作列的模板 -->
<script type="text/html" id="operationTpl">
  <a class="layui-btn layui-btn-xs custom-operation" lay-event="detail" data-id="{{d.id}}">查看</a>
  <a class="layui-btn layui-btn-xs layui-btn-normal custom-operation" lay-event="edit" data-id="{{d.id}}">编辑</a>
  <a class="layui-btn layui-btn-xs layui-btn-danger custom-operation" lay-event="delete" data-id="{{d.id}}">删除</a>
</script>
 
</body>
</html>

在这个示例中,使用了templet属性来指定了自定义操作列的模板,模板中使用了{{d.id}}来获取每行数据的ID,并且为每个操作按钮添加了custom-operation类。然后使用jQuery监听了这些按钮的点击事件,并在点击时获取了对应行数据的ID,可以在点击事件中编写自定义操作的逻辑。

文章推荐

【前端】Layui的表格常用功能,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件

【Echarts】曲线图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

【Echarts】柱状图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

【随笔】程序员如何选择职业赛道,目前各个赛道的现状如何,那个赛道前景巨大

【随笔】程序员的金三银四求职宝典,每个人都有最合适自己的求职宝典

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1548184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

短袖有什么牌子可以推荐?质量最好的短袖品牌推荐

天气转热&#xff0c;大家都开始给自己选一些穿着舒适且好看的短袖。但是不少朋友都应该发现&#xff0c;目前市面上的服装品牌质量参差不齐&#xff0c;而且有一些短袖穿身上还会瘙痒等情况&#xff0c;尤其是大家喜欢入手的网红或明星代言的牌子更严重。 那么短袖应该怎么选…

spring 的理解

spring 的理解 spring 是一个基础的框架&#xff0c;同时提高了一个Bean 的容器&#xff0c;用来装载Bean对象spring会帮我们创建Bean 对象并维护Bean对象 的生命周期。在spring 框架上&#xff0c;还有springCloud,spring Boot 的技术框架&#xff0c;都是以Spring为基石的sp…

centos7 使用docker安装了mongo 怎么设置远程链接,必须使用密码才能连接

docker run -d –name mongodb_container -e MONGO_INITDB_ROOT_USERNAMEroot -e MONGO_INITDB_ROOT_PASSWORDroot -e MONGO_INITDB_DATABASEdataserver -p 27017:27017 \ 无法在mongo容器里编辑文件 如果你无法直接编辑 MongoDB 容器内的配置文件&#xff0c;你可以尝试…

ClickHouse10-ClickHouse中Kafka表引擎

Kafka表引擎也是一种常见的表引擎&#xff0c;在很多大数据量的场景下&#xff0c;会从源通过Kafka将数据输送到ClickHouse&#xff0c;Kafka作为输送的方式&#xff0c;ClickHouse作为存储引擎与查询引擎&#xff0c;大数据量的数据可以得到快速的、高压缩的存储。 Kafka大家…

碳课堂|什么是碳资产?企业如何进行碳资产管理?

碳资产是绿色资产的重要类别&#xff0c;在全球气候变化日益严峻的背景下备受关注。在“双碳”目标下&#xff0c;碳资产管理是企业层面实现碳减排目标和低碳转型的关键。 一、什么是碳资产&#xff1f; 碳资产是以碳减排为基础的资产&#xff0c;是企业为了积极应对气候变化&…

华为昇腾asend

昇腾Ascend C编程语言 Ascend C原生支持C/C编程规范&#xff0c;通过多层接口抽象、并行编程范式、孪生调试等技术&#xff0c;极大提高了算子的开发效率&#xff0c;帮助AI 参考文章 手把手教你在昇腾平台上搭建PyTorch训练环境 - 哔哩哔哩 (bilibili.com)https://www.bilibi…

【Java面试题】计算机网络

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么&#xff1f;1.2TCP/IP四层模型是什么&#xff1f;每一层的作用&#xff1f;1.2.1TCP四层模型&#xff1f;1.2.2为什么网络要分层&#xff1f; 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

基于springboot实现大学生入学审核系统项目【项目源码+论文说明】

基于springboot实现大学生入学审核系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大学生入学审核系统的开发全过程。通过分析大学生入学审核系统管理的不足&#xff0c;创建了一个计算机管理大学生入…

大数据开发(日志离线分析项目)

大数据开发&#xff08;日志离线分析项目&#xff09; 一、项目需求1、使用jqueryecharts的方式调用程序后台提供的rest api接口&#xff0c;获取json数据&#xff0c;然后通过jquerycss的方式进行数据展示。工作流程如下&#xff1a;2、七大角度1、用户基本信息分析模块2、浏览…

微信怎么恢复聊天记录?效果惊人的3个方法

微信作为我们日常生活中最常用的即时通讯工具之一&#xff0c;承载着我们与亲友之间的重要沟通记录。然而&#xff0c;不可避免地会遇到误删聊天记录的情况&#xff0c;可能是因为手误、设备问题或其他原因。 当我们发现重要的聊天记录不见了&#xff0c;往往会感到焦虑和困扰…

ValueError: Cannot load file containing pickled data when allow_pickle=False

问题描述 遇到报错&#xff1a;ValueError: Cannot load file containing pickled data when allow_pickleFalse 解决方案 经过查阅有人说是与numpy的版本有关&#xff0c;但是还是不要轻易改变环境中的版本&#xff0c;不一定哪个地方就会报错。这里放个解决方案&#xff1a;…

量化交易入门(二十二)MACD指标实现,能挣到钱吗?

学习了MACD指标以后&#xff0c;我们通过量化回测来验证一下&#xff0c;这个指标能否帮我们挣到钱。我们还是使用Backtrader框架&#xff0c;实现MACD的交易策略&#xff0c;然后用苹果股票历史数据完成这个示例。 示例代码如下&#xff1a; import backtrader as bt import…

server端

一、创建项目 expess server 1.1 安装nodemon npm i nodemon 1.2 设置连接数据库mongodb 安装mongoose npm i mongoose 在根目录新建config文件夹/db.config.js // 引入mongodb数据库操作模块 const mongoose require("mongoose") // 连接数据库mongoose.con…

【Git】日志功能

1. git日志显示 # 显示前3条日志 git log -3# 单行显示 git log --oneline# 图表日志 git log --graph# 显示更改摘要 git log --stat# 显示更改位置 git log --patch 或 git log -p# 查看指定文件的提交历史记录 git log {filename}例子1&#xff1a;单行显示 例子2&#xff…

自学编程的六种方法,你必须知道

随着互联网日趋迅猛&#xff0c;编程已经在我们生活当中无处不在了。众所周知&#xff0c;程序员的工资都很不错&#xff0c;于是越来越多的人&#xff0c;都想加入到编程的行业中来。那么如何加入到程序员的行业当中&#xff1f; PHP从入门到放弃&#xff0c;C语言从入门到放…

3款免费甘特图制作工具的比较和选择指南

GanntProject GanttProject https://www.ganttproject.biz/ 是一款项目管理和调度应用&#xff0c;适用于 Windows、macOS 和 Linux。它易于使用&#xff0c;无需任何设置&#xff0c;适用于个人用户和小型团队。该应用提供任务层次结构和依存关系、里程碑、基准行、Gantt 图表…

【深度学习】最强算法模型之:潜在狄利克雷分配(LDA)

潜在狄利克雷分配 1、引言2、潜在狄利克雷分配2.1 定义2.2 原理2.3 算法公式2.4 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; 给我讲一讲LDA 小鱼&#xff1a;LDA&#xff1f; 你指的是&#xff1f; 小屌丝&#xff1a;就是算法模型的LDA啊&#xff0c; 你…

基于XGBoost和数据预处理的电动汽车车型预测

基于XGBoost和数据预处理的电动汽车车型预测 文章目录 基于XGBoost和数据预处理的电动汽车车型预测1、前言2、导入数据3、各县电动汽车采用情况条形图4、电动车类型饼图5、前5最欢迎的电动车制造商6、XGBoost模型6.1 字符串列的标识6.2 删除不相关的列6.3 编码分类变量6.4 电动…

【机器学习之---数学】统计学基础概念

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 统计学基础 1. 频率派 频率学派&#xff08;传统学派&#xff09;认为样本信息来自总体&#xff0c;通过对样本信息的研究可以合理地推断和估计总体信息…

探究 HTTPS 的工作过程

目录 1. HTTPS 协议原理 1.1. 为什么要有HTTPS协议 1.2. 如何理解安全 1.3. HTTPS 协议是什么 2. HTTPS 的前置概念 2.1. 什么是加密 && 解密 2.2. 为什么要加密 2.3. 常见的加密方式 2.3.1. 对称加密 2.3.2. 非对称加密 2.4. 数据摘要 && 数据指纹…