Javascript 下拉列表使用相同的值填充

Javascript 下拉列表使用相同的值填充,javascript,Javascript,我在重新填充下拉列表时遇到问题。我有一个代码来填充fecth上的下拉列表。它在选择标签中有3个选项。现在我有了一个按钮,可以作为刷新服务器使用。单击后,它将再次调用fetch函数。我试图点击删除选择标签中的所有选项并重新填充。这是我的密码 for (let i = length - 1; i >= 0; i--) { select.remove(i); } setTimeout(fetchUrl, 1000); 我的问题是,我删除了前面的3个选项,但它生成

我在重新填充下拉列表时遇到问题。我有一个代码来填充fecth上的下拉列表。它在选择标签中有3个选项。现在我有了一个按钮,可以作为刷新服务器使用。单击后,它将再次调用fetch函数。我试图点击删除选择标签中的所有选项并重新填充。这是我的密码

  for (let i = length - 1; i >= 0; i--) {
      select.remove(i);
    }
    setTimeout(fetchUrl, 1000);
我的问题是,我删除了前面的3个选项,但它生成了6个值相同的选项。应该是这样的:

Option1  Pump1
Option2  Pump2
Option3  Pump3
但我得到的结果是这样的

Option1  Pump1
Option2  Pump2
Option3  Pump3
Option4  Pump1
Option5  Pump2
Option6  Pump3
我的收获

获取URL .thenres=>res.json .thendata=>{ opt=数据; 控制台日志数据; opt.forEachitem=>{ console.logitem; 选项。推{ v:项目名称, t:item.name, }; }; 让selectTag=$node输入选项[0]; 设elem=$node输入过滤器; //循环浏览选项,并为每个元素创建 对于let i=0;i 不需要创建不必要的数组 清除选择选项,.html将执行此操作 仅附加获取数据-现在您一直在附加到选项数组
请添加更多代码完整上下文。从这可能没有人帮助你。看起来你没有清除/删除以前的项目。但需要更多详细信息来检查问题。当我按下btn并检查控制台时,选项消失了,但是调用了fetch函数,它返回以前的对象+添加相同的3个新对象。为什么你有结果数组吗?我不想要硬编码的值。我想从一些api获取数据。我如何发送我的代码?它说文本太长
fetch(url)
  .then((res) => res.json())
  .then((data) => {
    $("#node-input-options")
      .html(`<option>Please select</option>`)
      .append(
         data
          .map(({name}) => `<option value="${name}">${name}</option>`)
          .join("")
      )
  });