如何在复选框选中/取消选中时动态添加与移除对应用户项
发布时间 - 2026-01-31 00:00:00 点击率:次本文介绍如何通过 javascript 动态管理复选框(checkbox)的选中状态,实现“勾选即添加、取消即删除”指定用户条目到列表区域,避免误删全部内容,确保 dom 操作精准且可维护。
在构建多选审批人、协作成员等交互场景时,常需将用户勾选的复选框实时同步至下方「已选列表」中,并支持随时取消勾选后仅移除对应条目——而非清空整个列表。你当前遇到的问题在于:document.getElementById('listUser').innerHTML = "" 会无差别清空所有内容,导致取消任一选项时整个列表被重置。
✅ 正确思路:为每个选项建立唯一标识 + 精准 DOM 控制
核心解决逻辑有三点:
- 每个复选框必须拥有唯一 id 或可识别的 value(推荐使用递增数字或用户 ID,避免重复);
- 动态生成的列表项需赋予唯一 id(如 id="item-1"),便于后续定位删除;
- 取消勾选时,不再清空整个容器,而是通过 document.getElementById(...).remove() 精准移除对应 DOM 节点。
✅ 优化后的完整实现(Laravel Blade + Vanilla JS)
{{-- 渲染用户复选框列表 --}}
@php $counter = 0; @endphp
@foreach($users as $user)
@php $counter++; @endphp
-
@@##@@
{{ $user->name }}
@endforeach
⚠️ 关键注意事项
- ❌ 避免重复使用相同 id="approver" —— HTM
L 中 id 必须全局唯一,否则 getElementById 行为不可预测;
- ❌ 不要直接操作 innerHTML = "" 清空容器,这会销毁所有子节点及绑定事件(如有);
- ✅ 推荐用 insertAdjacentHTML('beforeend', ...) 替代 += innerHTML,性能更优且避免重复解析;
- ✅ 若需后续获取所有已选用户(如提交表单),建议额外维护一个 JS 数组(如 selectedUsers = []),在勾选/取消时同步 push() / filter(),比反复遍历 DOM 更可靠;
- ✅ 图片路径中 {{ url(...) }} 在 JS 字符串内需确保已正确转义(示例中已简化;生产环境建议将静态资源路径提取为 JS 变量或使用 data-* 属性传递)。
通过以上结构化处理,即可实现干净、可扩展、无副作用的复选框双向同步逻辑,完美适配审批流、多选配置等业务场景。
# php
# javascript
# laravel
# java
# html
# js
# app
# ai
# checkbox
# Filter
# 字符串
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何确认建站备案号应放置的具体位置?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
JavaScript如何操作视频_媒体API怎么控制播放
Python函数文档自动校验_规范解析【教程】
个人摄影网站制作流程,摄影爱好者都去什么网站?
网站制作报价单模板图片,小松挖机官方网站报价?
如何在不使用负向后查找的情况下匹配特定条件前的换行符
javascript读取文本节点方法小结
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Python进程池调度策略_任务分发说明【指导】
重庆市网站制作公司,重庆招聘网站哪个好?
php json中文编码为null的解决办法
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel如何实现数据库事务?(DB Facade示例)
Linux后台任务运行方法_nohup与&使用技巧【技巧】
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
如何获取上海专业网站定制建站电话?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel如何实现API资源集合?(Resource Collection教程)
JavaScript如何实现错误处理_try...catch如何捕获异常?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何用5美元大硬盘VPS安全高效搭建个人网站?
大型企业网站制作流程,做网站需要注册公司吗?
潮流网站制作头像软件下载,适合母子的网名有哪些?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
如何快速搭建高效香港服务器网站?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
香港服务器部署网站为何提示未备案?
中国移动官方网站首页入口 中国移动官网网页登录
如何登录建站主机?访问步骤全解析
5种Android数据存储方式汇总
如何快速打造个性化非模板自助建站?
Android实现代码画虚线边框背景效果
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何在景安服务器上快速搭建个人网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
网站页面设计需要考虑到这些问题
如何用PHP快速搭建高效网站?分步指南
网页设计与网站制作内容,怎样注册网站?
原生JS获取元素集合的子元素宽度实例
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
linux写shell需要注意的问题(必看)
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?


