讲师中心 微信公众号
AI工具推荐 视频效率加速

Layui数据表格如何实现点击按钮手动触发分页跳转到末页

小磊同学_9339

小磊同学_9339

发布时间:2026-08-02 11:45:27

|

435人浏览过

|

来源于php中文网

原创

table.reload()是唯一推荐的跳末页方式,需先计算末页=Math.ceil(count/limit),再传入page:{curr:末页}触发同步重载,避免与laypage实例脱节。

table.reload() 是唯一推荐的跳末页方式

直接操作 laypage 实例或 dom 模拟点击,容易导致表格数据与分页栏不同步。layui 的 table 组件内部封装了分页状态管理,table.reload() 会自动同步 page.curr 和 ui 显示,且能触发数据重载 —— 这是跳末页最稳的路径。

关键点在于:末页不是固定值,得先算出来。假设总条数为 count、每页显示 limit 条,则末页 = Math.ceil(count / limit)。这个计算必须在 reload 前完成,不能依赖后端返回的 page 字段(它通常是当前页)。

  • 按钮绑定 click 后,先调用 table.cache['yourTableId'] 获取当前缓存数据长度(仅适用于本地分页),或更稳妥地:从后端接口单独查一次 count
  • table.reload() 必须传入正确的 id(初始化时 table.render({ id: 'xxx' }) 指定的那个字符串)
  • page.curr 要设为计算出的末页整数,比如 page: { curr: 5 },不能传字符串 "5",否则静默失败
  • 如果表格启用了 page: { limits: [10,20,50] },跳末页时 limit 值要保持一致,否则页码错乱

laypage.skip() 不适用于 table 场景

虽然 Layui 2.8+ 提供了 laypage.skip() 实现轻量跳页,但它只更新 laypage 实例本身,不触发 table 的数据重载和列渲染。对纯 laypage 分页(非 table 绑定)可用,但一旦你用了 table.render() 且开启 page: true,laypage.skip() 就会脱节 —— 页码数字变了,表格数据还是上一页的。

常见错误现象:点击“跳末页”后,分页栏显示最后一页数字,但表格内容没变,或者翻两页才加载出来。

  • 不要在 table 场景下混用 laypage.skip() 和 table.reload()
  • 如果你看到别人用 laypage.skip('xxx', lastPage) 成功了,大概率是他没启用 table 内置分页,而是手动 render 了 laypage 并自己处理数据请求
  • 想验证是否真同步?打断点看 table.config['yourTableId'].page.curr 和 laypage 实例的 curr 是否一致

DOM 层 hack 方式仅作兜底,慎用

当无法访问原始 table.render() 配置(比如封装在第三方组件里),只能走 DOM 操作:定位跳转输入框、填值、触发按钮。这种方式脆弱,Layui 版本升级或 CSS 类名微调都可能让它失效。

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

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

下载

实操时注意 selector 精确性:$(".layui-laypage-skip input") 可能匹配到多个分页栏(比如页面有多个 table),必须加父级限定:

  • 先通过表格容器定位,比如 $('#yourTableContainer').next('.layui-table-page').find('.layui-laypage-skip input')
  • 填值后,要触发的是同级的跳转按钮,不是所有 .layui-laypage-btn,应写成 .closest('.layui-laypage-skip').find('.layui-laypage-btn').click()
  • 该方式无法保证数据加载完成后再执行后续逻辑,如有依赖末页数据的操作(如选中最后一行),需手动监听 table.on('done') 回调

末页计算容易忽略的边界情况

总条数为 0 或可被 limit 整除时,Math.ceil(count / limit) 结果仍正确,但实际开发中常漏掉两个细节:

  • 后端返回的 count 是过滤后的总数(含搜索条件),必须确保 reload 时 where 参数和原始请求一致,否则末页算错
  • 用户手动改过每页条数(比如从 10 改成 20),此时 limit 应取 table.config['id'].page.limit,而不是写死值
  • 如果表格启用了 page: { hash: true },跳末页后 URL 的 hash 会变,但浏览器前进/后退不会自动恢复表格状态,需自行监听 hashchange 并 reload

跳末页不是终点,而是触发一次完整 reload;只要 reload 的参数干净、计算准确、实例 ID 正确,剩下的交给 layui 自己处理就行。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

更多
ajax教程
ajax教程

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

3040

2023.06.14

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

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

360

2023.08.31

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

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

2853

2023.11.15

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

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

1161

2024.09.24

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

40

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

20

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

20

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

20

2026.10.22

热门下载

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

精品课程

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

共87课时 | 13万人学习

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

共89课时 | 11.3万人学习

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

共5课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn