Bootstrap表单如何实现左右联动效果

云宇酱_5602

云宇酱_5602

2026-09-16

687人浏览

原创

左右表格联动本质是两个独立bootstrap-table实例的数据通信,需监听左侧选中事件、调用右侧load()刷新,并注意清空旧数据、字段匹配、分页保持及模态框滚动控制。

bootstrap表单如何实现左右联动效果

左右表格间用 getSelections() + load() 同步数据

左右联动不是靠 CSS 或布局实现的,本质是两个独立 bootstrap-table 实例之间的数据通信。最常用、最稳的方式是监听左侧表格的选中事件,拿到数据后调用右侧表格的 load() 方法刷新内容。

常见错误现象:右侧表格没反应、数据重复叠加、分页错乱——基本都是因为没清空旧数据或没传入完整数据集。

  • 左侧必须绑定 check.bs.tableuncheck.bs.table 事件,不能只监听 click
  • getSelections() 返回的是数组,即使只选一行也要按数组结构处理
  • 右侧调用 load(data) 前,建议先执行 $('#rightTable').bootstrapTable('removeAll'),避免叠加
  • 如果右侧表格启用了分页,load() 会自动重置到第一页;如需保留当前页码,得手动记录并调用 selectPage()

左右拖拽移动行时注意 append()remove() 的字段匹配

当用户把左表某行拖进右表,或从右表移回左表,核心操作是 append()remove(),但字段名不一致就会失败。

典型问题:左表字段叫 id,右表对应字段叫 itemId,直接 append(row) 会导致右表渲染异常或排序错乱。

  • 移动前检查两表的 columns 配置,确保关键标识字段(如 ID)名称和类型一致
  • remove() 必须传 { field: 'xxx', values: [...] },不能只传 id 值;values 必须是字符串数组,哪怕只有一个值也要包成 [String(id)]
  • 右表新增行后,若需保持序号列(如 PAIXUXH),得手动计算最大值再 +1,不能依赖原左表序号
  • 避免在循环中连续调用 append(),批量操作建议先收集数据,再一次性 load()

模态框里放左右双表,要防 modal-body 溢出和滚动冲突

Bootstrap 模态框默认 .modal-body 是普通块级容器,不带滚动控制。左右两个表并排放进去,很容易撑破弹窗、遮挡按钮,或导致整个模态框滚动而非表格局部滚动。

Bootstrap
Bootstrap

Bootstrap 5.3.8 编译版包含可直接用于项目的 CSS、JavaScript 和插件文件,适合快速搭建响应式网页。

下载

真实踩坑点:加了 overflow-auto 没用,是因为父级 .row.modal-body 没设高度限制,浏览器无法计算滚动区域。

  • .modal-body 显式设 max-height: 60vh(根据实际调整),再加 overflow-hidden
  • 左右两表各自包裹一层 <div class="table-container">,并设 <code>height: calc(60vh - 40px)(预留表头/间距)
  • 每个 .table-containeroverflow-y: auto,确保各自独立滚动
  • 禁用 .modal-dialogmax-height,否则可能压缩内容区;改用 height: fit-content 或固定 max-height
  • 联动时过滤条件没生效?检查 data-query-params 和服务器返回结构

    如果右侧表格本该根据左侧选中项动态加载关联数据,但始终显示全部或空数据,大概率是查询参数没传过去,或后端返回格式不匹配。

    Bootstrap Table 默认把 data-query-params 当作函数调用,返回的对象会作为 AJAX 请求参数。很多人写成字符串或对象字面量,结果参数根本没发出去。

    • data-query-params 必须是函数,例如:data-query-params="queryParams",并在 JS 中定义 window.queryParams = function(params) { return { productId: selectedId }; }
    • 确保左侧选中逻辑执行早于右侧 refresh(),否则 selectedId 还是初始值
    • 后端返回必须是标准格式:{ "total": 12, "rows": [...] },字段名不能是 datalist,除非你重写了 responseHandler
    • 调试时打开浏览器 Network 面板,确认请求 URL 中是否含预期参数,响应体是否符合格式

    复杂点在于:左右联动不是单次动作,而是状态持续同步的过程。一旦左侧支持多选、全选、取消,右侧就得能响应增删改;而撤销操作(如 Ctrl+Z)需要额外维护操作栈——这些都不是 Bootstrap Table 自带能力,得自己记快照、做 diff。

相关文章

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

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

下载

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

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2023

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4283

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5410

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

4838

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

683

5

html5动画制作有哪些制作方法
html5动画制作有哪些制作方法

html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。

2023.10.23

3391

6

HTML与HTML5的区别
HTML与HTML5的区别

HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。

2024.03.06

5548

6

html5从入门到精通汇总
html5从入门到精通汇总

想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。

2025.12.30

734

19

html5新老标签汇总
html5新老标签汇总

HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与

2025.12.30

614

12

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap5 入门教程
Bootstrap5 入门教程

共0课时 | 0人学习

Bootstrap Components 组件文档
Bootstrap Components 组件文档

共0课时 | 0人学习

Bootstrap Grid 栅格系统
Bootstrap Grid 栅格系统

共0课时 | 0人学习