首页 > 解决方案 > 数组中每个项目的打印选项

问题描述

我有一个数组,对于数组中的每个项目,我正在尝试添加一个新的<option>.

为此,我尝试了以下方法:

 array.forEach(function(arr) {
   console.log(array);
   $(".filterSection .department").append('<option value="'+array+'">'+array+'</option>');
 }); 

但是,该选项只是打印<option>. 它创建新option标签,但它们的值和文本是数组中的所有项目。

完整演示:

var array = ["Value 1", "Value 2", "Value 3"];

array.forEach(function(arr) {
  console.log(array);
  $(".department").append('<option value="' + array + '">' + array + '</option>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select class="department" name="department" id="department"></select>

我哪里错了?

标签: javascriptarrays

解决方案


您应该使用arrwhich 表示单个数组元素,而不是array

var array = ["Value 1", "Value 2", "Value 3"];

array.forEach(function(arr) {
  $(".department").append('<option value="' + arr + '">' + arr + '</option>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="department" name="department" id="department"></select>


推荐阅读