【前端】layui table表格勾选事件,以及常见模块

news2024/11/23 12:18:11

欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解,
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 表格勾选事件
  • 入口模块
  • 常见模块
  • 禁止勾选
  • 文章推荐

表格勾选事件

在 layui 的 table 表格中,想要监听勾选事件可以通过监听 checkbox 类型的列实现。
可以使用 checkbox 类型的列添加 lay-filter 属性并定义一个对应的过滤器,然后在表格渲染完成后,通过 layui 的事件监听函数监听该过滤器对应的事件。
示例代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>监听表格勾选事件示例</title>
  <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.7/css/layui.css">
</head>
<body>

<table id="demo" lay-filter="test"></table>

<script src="https://cdn.staticfile.org/layui/2.5.7/layui.js"></script>
<script>
layui.use(['table', 'form'], function(){
  var table = layui.table;

  // 渲染表格
  table.render({
    elem: '#demo',
    url: '/demo/table/user/',
    cols: [[
      {type: 'checkbox', LAY_CHECKED: true},
      {field: 'id', title: 'ID', width: 80, sort: true},
      {field: 'username', title: '用户名', width: 120},
      {field: 'email', title: '邮箱', minWidth: 150},
    ]],
    page: true
  });

  // 监听表格复选框选择
  table.on('checkbox(test)', function(obj){
    var checkStatus = table.checkStatus('demo'); // 获取表格的选中状态
    console.log(checkStatus.data); // 打印选中的数据
    console.log(obj.checked); // 当前是否选中
    console.log(obj.data); // 当前行的数据
  });
});
</script>

</body>
</html>

入口模块

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

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

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

常见模块

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

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

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

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

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

禁止勾选

在 layui 的 table 表格中,如果想要设置某些行或单元格的勾选状态为禁止勾选,可以通过在数据中添加 disabled 字段来实现。具体步骤如下:
1.在表格数据中添加一个名为
disabled 的字段,用于表示该行或单元格的勾选状态是否禁止。如果 disabled 字段的值为 true,则表示该行或单元格禁止勾选;如果值为 false 或字段不存在,则表示可以正常勾选。
2.在表格的列配置中,使用
checkbox 类型的列,并在 checkbox 类型的列中设置自定义的模板来控制勾选状态。可以根据数据中的 disabled 字段的值来动态设置禁止勾选的样式。
下面是一个示例代码,演示如何在 layui 的 table 表格中设置勾选禁止勾选状态:

table.render({
  elem: '#demo',
  data: [
    {id: 1, name: 'Alice', score: 85, disabled: false},
    {id: 2, name: 'Bob', score: 76, disabled: true},
    {id: 3, name: 'Cindy', score: 92, disabled: false},
  ],
  cols: [
    [
      {type: 'checkbox'},
      {field: 'name', title: '姓名'},
      {field: 'score', title: '分数'},
    ]
  ],
  done: function(res, curr, count) {
    // 设置禁止勾选状态的样式
    $('tbody tr').each(function(index, item) {
      var disabled = res.data[index].disabled;
      if (disabled) {
        $(this).find('input[type="checkbox"]').prop('disabled', true).next().addClass('layui-checkbox-disbaled layui-disabled');
      }
    });
  }
});

在上面的示例中,通过在数据中添加 disabled 字段来表示是否禁止勾选,在 done 回调函数中根据数据的 disabled 字段值设置禁止勾选的样式,实现禁止勾选状态的效果。

文章推荐

【前端】layui table表格勾选事件,以及常见模块

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

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

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

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

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

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

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

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

相关文章

itop4412编译内核时garbage following instruction -- `dmb ish‘ 解决方案

王德法 没人指导的学习路上磕磕绊绊太耗费时间了 今天编译4412开发板源码时报 garbage following instruction – dmb ish’ 以下是解决方案&#xff1a; 1.更新编译器 sudo apt-get install gcc-arm-linux-gnueabi 更新后修改Makefile 中编译器路径如下图 2.你以为更新完就可…

OpenHarmony实例应用:【常用组件和容器低代码】

介绍 本篇Codelab是基于ArkTS语言的低代码开发方式实现的一个简单实例。具体实现功能如下&#xff1a; 创建一个低代码工程。通过拖拽的方式实现任务列表和任务信息界面的界面布局。在UI编辑界面实现数据动态渲染和事件的绑定。 最终实现效果如下&#xff1a; 相关概念 低代…

【Blockchain】连接智能合约与现实世界的桥梁Chainlink

去中心化预言机试图实现依赖因果关系而不是个人关系的去信任和确定性结果。它以与区块链网络相同的方式实现这些结果&#xff0c;即在许多网络参与者之间分配信任。通过利用许多不同的数据源并实施不受单个实体控制的预言机系统&#xff0c;去中心化的预言机网络有可能为智能合…

【Python习题】用turtle库直角三角形,底边长150,斜边长300,底角60度,线条粗6像素,线条颜色为蓝色,填充颜色为红色

完整题干&#xff1a; &#xff08;1&#xff09;从Python官网下载Python3.7安装包&#xff0c;安装并熟悉 Python IDLE编程环境。 &#xff08;2&#xff09;在 Python IDLE Shell 窗口中编写程序计算圆的周长。 &#xff08;3&#xff09;编写程序&#xff0c;绘制如图1.10…

Java基础第十一课——类与对象(2)

由于类与对象这一部分的知识点很多&#xff0c;而且操作方法也有很多&#xff0c;所以这次将继续深入讨论一下关于类与对象中方法传参、方法重载、构造方法以及this关键字使用方面的知识。 一、方法传参 1.return关键字 return关键字作用 作用场景&#xff1a;方法内 作用…

C语言 函数——函数封装与程序的健壮性

目录 函数封装&#xff08;Encapsulation&#xff09; 如何增强程序的健壮性&#xff1f; 如何保证不会传入负数实参&#xff1f; 函数设计的基本原则 函数封装&#xff08;Encapsulation&#xff09; 外界对函数的影响——仅限于入口参数 函数对外界的影响——仅限于一个…

降额的秘密——不要挑战datasheet!

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海。 什么是降额设计&#xff1f;我们为什么要降额&#xff1f; 额指的是额定工作状态&#xff0c;降额就是…

数据结构——单链表(C语言版)

文章目录 一、链表的概念及结构二、单链表的实现SList.h链表的打印申请新的结点链表的尾插链表的头插链表的尾删链表的头删链表的查找在指定位置之前插入数据在指定位置之后插入数据删除pos结点删除pos之后的结点销毁链表 三、完整源代码SList.hSList.ctest.c 一、链表的概念及…

基于YOLOv5s的电动车入梯识别系统(数据集+权重+登录界面+GUI界面+mysql)

本文目录 1.UI界面 2.注册登录 3.算法准确率 4.数据集 1.UI界面 本人训练的yolov5s模型&#xff0c;准确率在98.6%左右&#xff0c;可准确完成电梯内检测电动车任务&#xff0c;并搭配了GUI检测界面&#xff0c;支持权重选择、图片检测、视频检测、摄像头检测、识别结果拍照…

喜报!成都爱尔眼科医院再次获得成都市医学科技三等奖!

2024年4月10日&#xff0c;“2024年全市医疗管理和科教服务工作暨培训会”在成都市血液中心召开。会议为期一天&#xff0c;落实2024年全国、全省医政管理工作会和全省、全市卫生健康工作会等相关会议精神&#xff0c;总结2023年全市医疗管理和科教服务工作情况&#xff0c;部署…

go语言基础 -- 反射

反射的基本介绍 反射可以在运行时动态获取变量的信息&#xff0c;如变量的类型&#xff08;type&#xff09;&#xff0c;类别(kind)。如果是结构体变量&#xff0c;还可以获取到变量的字段、方法等结构体本身信息&#xff1b;通过反射&#xff0c;可以修改变量的值或调用关联…

【蓝桥杯】第十五届填空题a.握手问题

题解&#xff1a; 根据问题描述&#xff0c;总共有 50 人参加会议&#xff0c;每个人除了与自己以外的其他所有人握手一次。但有 7 个人彼此之间没有进行握手&#xff0c;而与其他所有人都进行了握手。 首先&#xff0c;计算所有人进行握手的总次数&#xff1a; 总人数为 50 …

LabVIEW电信号傅里叶分解合成实验

LabVIEW电信号傅里叶分解合成实验 电信号的分析与处理在科研和工业领域中起着越来越重要的作用。系统以LabVIEW软件为基础&#xff0c;开发了一个集电信号的傅里叶分解、合成、频率响应及频谱分析功能于一体的虚拟仿真实验系统。系统不仅能够模拟实际电路实验箱的全部功能&…

对给定向量旋转

对给定向量旋转 顺时针&#xff1a; 逆时针&#xff1a; 源码&#xff1a; QPointF rotateVector(const QPointF& dir, double angle, bool flag){double rad (angle * M_PI) / 180;QPointF res;if (flag){float x static_cast<float>(dir.x() * std::cos(rad) …

YOLOv8使用设备摄像头实时监测

代码如下&#xff1a; from ultralytics import YOLO import cv2 from cv2 import getTickCount, getTickFrequency yoloYOLO(./yolov8n.pt)#摄像头实时检测cap cv2.VideoCapture(0) while cap.isOpened():loop_start getTickCount() #记录循环开始的时间&#xff0c;用于计…

Rust腐蚀服务器常用参数设定详解

Rust腐蚀服务器常用参数设定详解 大家好我是艾西&#xff0c;一个做服务器租用的网络架构师上期我们分享了rust腐蚀服务器的windows系统搭建方式&#xff0c;其中启动服务器bat参数因为涉及的东西比较多所以想通过这篇文章给大家做一下详细的分享。 &#xff08;注本文中xxxx…

叉车载货出入库AI检测算法介绍及应用

随着物流行业的快速发展&#xff0c;叉车作为物流运输的重要设备&#xff0c;其安全性和效率性越来越受到人们的关注。然而&#xff0c;在实际操作中&#xff0c;由于人为因素和操作环境的复杂性&#xff0c;叉车事故时有发生&#xff0c;给企业和个人带来了巨大的损失。为了提…

openjudge_2.5基本算法之搜索_1700:八皇后问题

题目 1700:八皇后问题 总时间限制: 10000ms 内存限制: 65536kB 描述 在国际象棋棋盘上放置八个皇后&#xff0c;要求每两个皇后之间不能直接吃掉对方。 输入 无输入。 输出 按给定顺序和格式输出所有八皇后问题的解&#xff08;见Sample Output&#xff09;。 样例输入 样例输…

【python】python饮料销售数据分析可视化(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【C语言__编译和链接__复习篇2】

目录 前言 一、翻译环境和运行环境 二、翻译环境 2.1 预处理 2.1 编译 2.1.1 词法分析 2.1.2 语法分析 2.1.3 语义分析 2.2 汇编 2.3 链接 三、运行环境 四、简答主线问题 前言 本篇主要讨论以下问题&#xff1a; 主线问题&#xff1a; 1. 源文件(.c)如何转换成(.exe)文件…