附加选项列表但删除以前的选项

时间:2017-06-19 22:33:37

标签: javascript php arrays json

嗨我试图在选择列表中依次根据另一个选择附加选项:

<select>
  <option value='firstValue'>firstValue</option>
  <option value='secondValue'>secondValue</option>
</select>

<select>
  // options appended from json depending
</select>

所以我这样做

xhr.onreadystatechange = function () {

   if(this.readyState === 4 && this.status === 200) {

      data = JSON.parse(this.responseText);
      data.races.map(function(race){
       $(race).appendTo(mySelect)
     })

   }
}

这样可以正常工作但是我想要新的选项来替换以前的选项,如果不是在同一个选择上叠加。我尝试过使用.html(),但它只附加了数组的最后一个值我也试过了:

    $(mySelect).find('option').remove().end().append($(raza))

但是它和以前一样,只是仅仅应用数组的最后一个值,我可以获得有关如何完成此任务的任何帮助吗?谢谢!

1 个答案:

答案 0 :(得分:1)

清除元素的最简单方法是将其长度设置为零。

例如:

var select = document.getElementById("mySelect");
select.length = 0;  

这将删除列表中的所有元素。在循环浏览数据并添加新项目之前执行此操作。