javascript - 无法将相同的选项元素添加到多个下拉列表中
问题描述
我在一个页面上有两个下拉菜单。单击按钮时,我需要将一个新选项添加到两个下拉列表中(将相同的选项添加到两者中)。选项值存储在一个数组中,我首先创建一个新的选项元素new_option
并从数组中设置它的值/文本,然后使用 and 将选项添加到下拉列表dropdown1_name.options.add(new_option)
中dropdown2_name.options.add(new_option)
。
但在实践中,新选项只添加到我添加它的第二个下拉列表中,而不是第一个,即如果我做 dropdown2.add 后跟 dropdown1.add 那么只有 dropdown1 获得新选项。
通过从头开始创建新选项元素的副本并向每个下拉列表添加一个副本,可以轻松解决此问题。但这对我来说没有意义,所以这个问题的重点是我真的很想首先了解导致这种行为的原因。为什么不能将相同的新创建选项添加到两个下拉列表中?
我刚刚制作的这个小提琴有一个测试设置。
解决方案
问题是您将相同的<option>
实例添加到两个下拉列表中:
dropdown2.options.add(el1);
dropdown1.options.add(el1);
// ^^^ notice "el1" twice
相反,您必须el2
添加dropdown2
:
dropdown2.options.add(el2);
dropdown1.options.add(el1);
我希望这可以帮助你 :)
推荐阅读
- .net-core - WSDL 和 .NET 核心
- javascript - 数据被发送到我的数据库而没有提出请求
- android - 使用 createComposeRule 运行 Jetpack Compose UI 测试时出现“RuntimeException:无法启动活动...无法解析 Intent 的活动”
- sql-server - 使用参数定义时获取共享数据集的计数
- reactjs - Firebase查询React中的连接属性
- python - 创建字典数据图?
- html - Jekyll _post 在站点内置到 _site 时不使用 css
- mongodb - 如何在脚本中克隆 MongoDB 数据库?
- pointers - Nil 指针取消引用试图将指针复制到指针
- java - 循环遍历对象数组并访问特定的键/值字段