Layui table如何设置点击行后在右侧显示该行的详细JSON

胖杰同学_8068

胖杰同学_8068

2026-07-09

907人浏览

原创

必须用 table.on('row(tabledemo)') 监听行事件,配合 layer.open({type: 1, content: '...'}) 渲染格式化 json;禁用 type: 2 iframe,需过滤非 json 字段并兜底处理循环引用、date 等特殊值。

直接用 table.on('row(你的表id)') 监听,配合 layer.open({type: 1}) 渲染格式化 json,别用 type: 2 iframe —— 否则看不到原始结构、无法控制样式、还容易被同源策略卡住。

必须用 row 事件,不能绑原生 click

Layui 表格是动态渲染的,tr 节点在分页、搜索后会被替换。原生 click 绑定到 $('tbody tr') 或 done 回调里遍历 DOM 的方式,翻页后就失效。

  • 监听写法必须是 table.on('row(tableDemo)', function(obj){...}),其中 tableDemo 是你 table.render() 里配置的 id 值,大小写敏感
  • 确保 table.render() 已执行完毕再调用 table.on(),推荐放在同一作用域末尾,或 done 回调内
  • obj.data 就是当前行原始数据对象,不用再从 DOM 取值;obj.tr 是当前行 DOM 元素,可用于高亮等操作

弹窗必须用 type: 1 + content 字符串,不是 type: 2

type: 2 是 iframe 加载外部页面,传不进 JSON 对象,也做不到“显示该行的 JSON”这个需求。真要展示结构化数据,得自己拼 HTML 内容。

Feishu calendar sync, local ics to json data for AI agent
Feishu calendar sync, local ics to json data for AI agent

将ICS日历文件转为JSON格式,用于飞书日历导入导出及数据集成。

下载
  • content 推荐用 <pre class="brush:php;toolbar:false;" style="text-align:left;padding:10px;max-height:400px;overflow:auto;">${JSON.stringify(obj.data, null, 2)}</pre>
  • 加 maxmin: true 允许用户最大化查看深层嵌套字段
  • 避免把大段 HTML 拼在 JS 里,可用隐藏 <script type="text/html"></script> 模板预定义结构
  • 别忘了设 offset: ['20px', 'right'] 让弹窗贴右显示

JSON 序列化前要过滤和兜底

直接 JSON.stringify(obj.data) 很危险:遇到 Date、undefined、RegExp、循环引用、Layui 内部字段(如 _LAY_TABLE_INDEX)会报错或输出空字符串。

  • 只取业务字段构造新对象:const safeData = {id: obj.data.id, name: obj.data.name, ...}
  • 若字段全为纯 JSON 类型,可用 JSON.parse(JSON.stringify(obj.data)) 浅拷贝
  • 含函数或特殊对象时,改用 Object.assign({}, obj.data) 并手动 delete 掉非业务属性
  • 对可能为字符串的字段(比如后端返回的 "info": "{...}"),加 try/catch 包裹 JSON.parse() 再嵌套展示

最易被忽略的是时间字段和内部属性 —— 后端返回的发布时间是 2026 年 6 月 20 日,但 obj.data.create_time 可能已是格式化后的字符串,原始时间戳早没了;_raw 这类字段如果没在 parseData 里显式保留,双击时就再也拿不回来。

相关文章

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

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

下载

相关标签:

layui js json

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

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2015

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2922

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

996

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3299

7

ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2580

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

340

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

2413

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1141

6

热门下载

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

精品课程

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

共87课时 | 12.7万人学习

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

共89课时 | 10.9万人学习

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

共5课时 | 1.6万人学习