如何正确获取多个下拉选择框的值并存入对象数组

发布时间 - 2026-01-29 00:00:00    点击率:

本文讲解如何准确读取多个 `

在表单处理中,若需收集多个独立

原逻辑中,selectedVal 是单一变量,被所有 select 的 change 事件共用。当用户先后切换不同下拉框时,该变量只会保留最后一次触发的值(例如先选 Red,再选 V,selectedVal 最终只存 "V"),导致 favColor 和 location 字段被错误地赋为同一值。

✅ 正确做法是:在提交时刻(addDets 函数内),直接按 ID 获取各 。这样能确保每个字段读取的是用户最终选定的真实值,且互不干扰。

以下是优化后的完整实现:

let list = [];

const addDets = (ev) => {
  ev.preventDefault();

  // ✅ 直接、独立获取每个 select 的当前值
  const favColor = document.getElementById("fav").value;
  const location = document.getElementById("loc").value;

  co

nst officials = { name: document.getElementById("name").value, age: document.getElementById("age").value, favColor, // 对应 }; list.push(officials); document.forms[0].reset(); // 重置表单(注意:会清空 select 的选中状态) console.log(list); }; document.addEventListener("DOMContentLoaded", () => { document.getElementById('btn').addEventListener('click', addDets); });

? 关键注意事项:

  • document.getElementById("fav").value 返回的是
  • 若需支持多选(
  • document.forms[0].reset() 会将所有表单控件(包括
  • 无需为每个

通过这种「按需读取、即时封装」的方式,既能保证数据准确性,又能避免状态污染,是构建健壮表单数据收集逻辑的最佳实践。


# red  # Array  # 封装  # select  # 全局变量  # Event  # 对象  # 事件  # location  # 表单  # 多个  # 的是  # 而非  # 这是  # 若需  # 下拉框  # 遍历  # 你有  # 只会 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在服务器上三步完成建站并提升流量?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  JavaScript常见的五种数组去重的方式  动图在线制作网站有哪些,滑动动图图集怎么做?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  网站制作软件有哪些,制图软件有哪些?  Swift中swift中的switch 语句  如何在阿里云完成域名注册与建站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel如何创建自定义Facades?(详细步骤)  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  使用Dockerfile构建java web环境  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何快速重置建站主机并恢复默认配置?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  电商网站制作价格怎么算,网上拍卖流程以及规则?  Laravel如何自定义分页视图?(Pagination示例)  如何构建满足综合性能需求的优质建站方案?  如何在宝塔面板中创建新站点?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  焦点电影公司作品,电影焦点结局是什么?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  新三国志曹操传主线渭水交兵攻略  javascript中对象的定义、使用以及对象和原型链操作小结  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Python高阶函数应用_函数作为参数说明【指导】  Laravel怎么判断请求类型_Laravel Request isMethod用法  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  深圳网站制作培训,深圳哪些招聘网站比较好?  如何生成腾讯云建站专用兑换码?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何为不同团队 ID 动态生成多个独立按钮  如何在IIS中配置站点IP、端口及主机头?  网站图片在线制作软件,怎么在图片上做链接?  Android GridView 滑动条设置一直显示状态(推荐)  如何在阿里云通过域名搭建网站?  如何在云主机上快速搭建多站点网站?  如何在云服务器上快速搭建个人网站?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何在建站之星绑定自定义域名?