javascript - 无法在 JavaScript 中循环数组

标签 javascript jquery arrays tags jquery-select2

嘿伙计们,我需要知道如何在 javascript 中循环遍历数组,我多次使用 php,并且我知道如何使用 foreach 遍历数组,但我不知道如何在 js 中使用它,我正在尝试设置一些选择输入中的选定标签 这是 foreach

montant.forEach(element => {
      $('#montant').empty()
           .append('<option value="'+element.id+'">'+element.designation+'</option>')
           .val(''+element.id+'').trigger('change')});

montant 是一个包含具有这些元素的数组的值

const montant = [
  {designation: 120000, id: 11},
  {designation: 30000, id: 12},
  {designation: 40000, id: 13}
]

使用我使用的 foreach 我只得到第一个元素

最佳答案

如果 montant 是一个数组,那么使用 forEach 就是正确的做法。但是,对于循环的每次迭代,您都将执行以下操作:

$('#montant').empty().append(...)

因此,对于每一项,您都清空了#montant(我假设它是一个select),因此,最终您的选择只有一个选项,最后一个。

我认为你必须在循环之前使用empty(),并在循环之后使用trigger,这样就不会调用事件处理程序数组的每一项:

const $montant = $('#montant');
$montant.empty()
montant.forEach(element => $montant.append(...));
$montant.trigger('change');

现在,您的选择应该已正确填充。

关于javascript - 无法在 JavaScript 中循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59970705/

相关文章:

javascript - 将值设置为 jquery 小部件 slider

c++ - 链接 ArrayList 实现

javascript - 如何将数组转换为对象数组以及javascript中的id

C : mark the every struct, union ,数组元素

javascript - 如何查看服务器发出的用户请求?

javascript - PHP json 编码中的 JSON 格式无效

javascript - 无法设置 Kendo DropDownList 选定值

javascript - 我如何使用 jQuery 比较两个数组(可以有 : DOM elements, 数字、字符串、数组或字典)?

jquery - Opera - 防止输入有焦点

java - 带有标志图标的 JSF RichFaces 语言环境下拉列表