layui表格某一行怎么设置不可勾选

胖涛吖_9970

胖涛吖_9970

2026-09-19

308人浏览

原创

必须用templet自定义checkbox列并显式写disabled属性,因layui内置{type:'checkbox'}不读取数据字段的disabled,重绘后失效;需保留name="laytablecheckbox"、动态判断disabled与checked、过滤table.checkstatus结果中的禁用行。

layui表格某一行怎么设置不可勾选

必须用 templet 自定义 checkbox 列并显式写 disabled 属性,内置 {type: 'checkbox'} 列不支持按行禁用——这是唯一可靠方式。

为什么不能直接在列配置里加 disabled: true

因为 Layui 的 {type: 'checkbox'} 是内部封装渲染逻辑,它根本不读取你数据对象里的 disabled 字段。你写 d.disabled = true 或在 cols 里硬写 disabled: true,对 DOM 渲染和事件响应都完全无效。表格重绘、翻页、table.reload() 后,这些设置都会丢失。

  • 常见错误现象:checkbox 看起来灰了但点一下仍能勾上;或者根本没变化,始终可选
  • 根本原因:Layui 不会把行数据字段映射到 input 的 disabled 属性,只认自己生成的 DOM 结构
  • 解决方案只有一条路:放弃内置 checkbox 类型,改用普通列 + templet 手动拼 <input>

templet 模板里怎么写才生效

关键不是“能不能写”,而是“写对哪几个点”。漏掉任意一个,禁用就形同虚设:

深蓝色网站后台管理系统layui框架模板-AdminPro
深蓝色网站后台管理系统layui框架模板-AdminPro

一款深蓝色网站后台管理系统layui框架模板

下载
  • name="layTableCheckbox" 必须保留——这是 Layui 内部识别多选行的硬性约定,写成 name="xxx" 或漏掉,table.checkStatus() 就拿不到这行
  • disabled 要根据当前行数据动态判断,比如 {{# if(d.status === 'closed'){ }} disabled {{# } }},不能写死,也不能依赖外部变量
  • checked 也得显式控制,别指望 d.layChecked 自动生效;要用 d.LAY_CHECKED(注意大小写),否则视觉状态和内部字段不同步
  • 建议加上 lay-id="{{d.id}}"data-id="{{d.id}}",避免事件绑定漏触发,尤其在分页或排序后

示例模板:

<script type="text/html" id="checkboxTpl">
<input type="checkbox" name="layTableCheckbox" 
  {{# if(d.status === 'closed'){ }} disabled {{# } }} 
  {{# if(d.LAY_CHECKED){ }} checked {{# } }}
  lay-id="{{d.id}}">
</script>

table.checkStatus() 返回的数据还包含禁用行?

是的,而且这是最常被忽略的致命点。Layui 完全不感知 disabled,只要 DOM 里有这个 <input> 元素,不管它灰不灰、点不点得动,table.checkStatus('demo').data 都会把它塞进去。

  • 导出、批量提交、权限校验前,如果直接用 res.data,禁用行就会被当成有效数据发出去
  • 正确做法是手动过滤缓存:const cache = table.cache['demo']; const validChecked = cache.filter(d => d.status !== 'closed' && d.LAY_CHECKED);
  • 全选判断不能看 res.count,得比对:validChecked.length === cache.filter(d => d.status !== 'closed').length
  • 监听 checkbox 事件时第一句就要拦截:if (obj.disabled) return;,否则后续逻辑照样执行

点击操作按钮时行却自动勾上了?

这是事件冒泡导致的。操作列按钮(比如 lay-event="edit")点击时,事件会向上冒泡到 <tr>,触发默认的行选中行为。<ul> <li>解决方法:在 <code>table.on('tool(filter)') 回调第一行加 layui.stope(event)

  • 注意:event 必须从 obj.event 拿,写成 layui.stope(e) 或传错参数就失效
  • 别用 onclick="return false",Layui 是事件委托绑定,内联写法压根不生效
  • 即使 checkbox 已 disabled<tr> 点击仍会触发选中,所以这个拦截不能省<p>禁用只是 UI 层遮罩,Layui 的状态管理、父子联动、分页缓存、甚至 <code>table.reload() 后的恢复,全都无视 disabled。你写的每一处“已选中”逻辑,都得自己加一层数据校验——没有例外。

  • 相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    layui菜鸟教程 layui

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    Aionclaw智能助手介绍
    Aionclaw智能助手介绍

    本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

    2026.09.20

    0

    13

    AionClaw AI智能体与电脑自动化任务执行功能使用教程
    AionClaw AI智能体与电脑自动化任务执行功能使用教程

    AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

    2026.09.20

    0

    15

    AI视频生成软件推荐
    AI视频生成软件推荐

    本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

    2026.09.16

    160

    9

    ai生成视频的工具免费版合集
    ai生成视频的工具免费版合集

    本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

    2026.09.16

    60

    10

    Pandas时间序列分析与可视化报表
    Pandas时间序列分析与可视化报表

    本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

    2026.09.16

    80

    23

    Pandas数据筛选索引与清洗处理
    Pandas数据筛选索引与清洗处理

    本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

    2026.09.16

    60

    25

    Pandas数据读取导入与文件导出处理
    Pandas数据读取导入与文件导出处理

    本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

    2026.09.16

    40

    27

    GDB怎么设置断点
    GDB怎么设置断点

    本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

    2026.09.11

    380

    28

    GDB怎么查看变量值
    GDB怎么查看变量值

    本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

    2026.09.11

    120

    22

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    ThinkPHP配置开发与CMS后台实战
    ThinkPHP配置开发与CMS后台实战

    共87课时 | 12.4万人学习

    第二十三期_综合实战
    第二十三期_综合实战

    共89课时 | 10.6万人学习

    Layui 快速入门精讲
    Layui 快速入门精讲

    共5课时 | 1.6万人学习