javascript - 如何从同一个数组中填充多个下拉列表但不重复填充它们?
问题描述
我正在创建一个页面,让用户可以选择从多个下拉列表中选择名称列表。名称存储在 JS 中的数组中。我已经设法对第一行进行排序,因为这将通过它自己的 id 找到。下一行包含 4 个不同的下拉列表,因此 getElementById 是不可能的(我认为?)。JS 中是否有更简单的方法来做到这一点,而无需为每个下拉列表提供自己的 id 并一遍又一遍地重复该功能?有没有办法避免在任何框中选择相同的名称以避免重复?
下面的代码:
let defenders =
[ 'Cafu', 'Roberto Carlos', 'Ashley Cole', 'Gary Neville', 'Danny McGrain', 'Philip Lahm'
, 'Javier Zanetti', 'Dani Alves', 'Carlos Alberto', 'Franz Beckenbeaur', 'Franco Baresi', 'Paolo Maldini'
, 'Rio Ferdinand', 'Nemanja Vidic', 'John Terry', 'Billy McNeill', 'Virgil Van Dijk', 'Fabio Cannavaro'
]
var dropdownDF = document.getElementsByClassName("selectDefender");
for (var i = 0; i < defenders.length; i++)
{
dropdownDF[dropdownDF.length] = new Option(defenders[i], defenders[i]);
}
<div class="row df">
<div class="col-10 offset-1 list-inline-block">
<ul>
<li class="col-2 col-md-2 list-inline-item box"><img src="assets/images/male-silhouette.png" alt="male silhouette">
<div class="player-dropdown">
<form id="myForm">
<select class="selectDefender">
<option>Choose a RB</option>
</select>
</form>
</div>
</li>
<li class="col-2 col-md-2 list-inline-item box"><img src="assets/images/male-silhouette.png" alt="male silhouette">
<div class="player-dropdown">
<form id="myForm">
<select class="selectDefender">
<option>Choose a CB</option>
</select>
</form>
</div>
</li>
<li class="col-2 col-md-2 list-inline-item box"><img src="assets/images/male-silhouette.png" alt="male silhouette">
<div class="player-dropdown">
<form id="myForm">
<select class="selectDefender">
<option>Choose a CB</option>
</select>
</form>
</div>
</li>
<li class="col-2 col-md-2 list-inline-item box"><img src="assets/images/male-silhouette.png" alt="male silhouette">
<div class="player-dropdown">
<form id="myForm">
<select class="selectDefender">
<option>Choose a LB</option>
</select>
</form>
</div>
</li>
</ul>
</div>
</div>
解决方案
推荐阅读
- reactjs - 无法删除滚动侦听器
- java - hibernate - 带有 getEntityManager..createNativeQuery() 的 NullPointerException
- sql - SQL:将列转换为行
- javascript - 如何在js中计算分数测验?
- python - 有预训练的 Gensim 短语模型吗?
- apache-spark - explode 和explode_outer 的区别
- csv - 打开超大的制表符分隔值 (tsv) 文件 (1.09 GB)
- java - 如何使用格式化字符串“Property:Value”制作属性映射
- python - Plotly:如何生成并排的 px.sunburst 图?
- python - 可视化 10 个随机测试示例、预测标签和来自 MNIST 数据集的实际标签