Javascript 在每个onchange事件上追加值的动态下拉列表

Javascript 在每个onchange事件上追加值的动态下拉列表,javascript,jquery,html,Javascript,Jquery,Html,我有3个动态下拉列表,它们在前面的下拉列表的onchange事件中填充。一旦更改,我就可以填充下拉列表,但我面临的问题是,如果我更改任何下拉列表中的选择,新值将附加到后续下拉列表中以前的值,而不是替换 下面是我的代码: Dropdown1: <select id="ddlFiles" onchange="GetNamedItems()"> <option diasbled="disabled">Select File</option&g

我有3个动态下拉列表,它们在前面的下拉列表的onchange事件中填充。一旦更改,我就可以填充下拉列表,但我面临的问题是,如果我更改任何下拉列表中的选择,新值将附加到后续下拉列表中以前的值,而不是替换

下面是我的代码:

 Dropdown1: <select id="ddlFiles" onchange="GetNamedItems()">
              <option diasbled="disabled">Select File</option>
             </select>
 Dropdown2: <select id="ddlNamed" onchange="GetColumns()">
 Dropdown3: <select id="ddlColumn" onchange="GetColumnsY()">

 function GetNamedItems()
 {
 for (var i=0; i <namedItem.length;++i)
 {

  var list =  document.getElementById('ddlNamed');
  var newListItem = document.createElement('OPTION');  
  var listInfo=namedItem[i];

  var box = listInfo;
 newListItem.text = box;
 newListItem.value = box;
 list.add(newListItem); 
 }}
下拉列表1:
选择文件
下拉列表2:
下拉列表3:
函数GetNamedItems()
{

对于(var i=0;i,昨天我正好遇到了表单重置函数的问题

关键是:

$(select).empty();

然后重新填充下拉列表…

在添加新内容之前删除内容

function GetNamedItems() {

  var list = document.getElementById('ddlNamed');
  list.innerHTML = '<option diasbled="disabled">Select File</option>';

  for (var i = 0; i < namedItem.length; ++i) {
    var newListItem = document.createElement('OPTION');
    var listInfo = namedItem[i];
    var box = listInfo;

    newListItem.text = box;
    newListItem.value = box;

    list.add(newListItem);

  }

}
$(select).remove();
函数GetNamedItems(){ var list=document.getElementById('ddlNamed'); list.innerHTML='选择文件'; 对于(变量i=0;i
不确定您的问题。在添加新问题之前,请尝试使用.remove()

function GetNamedItems() {

  var list = document.getElementById('ddlNamed');
  list.innerHTML = '<option diasbled="disabled">Select File</option>';

  for (var i = 0; i < namedItem.length; ++i) {
    var newListItem = document.createElement('OPTION');
    var listInfo = namedItem[i];
    var box = listInfo;

    newListItem.text = box;
    newListItem.value = box;

    list.add(newListItem);

  }

}
$(select).remove();
工作代码:

function GetNamedItems() {

 var list = document.getElementById('ddlNamed');

                   $('#ddlNamed').find('option:gt(0)').remove();


for (var i = 0; i < namedItem.length; ++i) {
var newListItem = document.createElement('OPTION');
var listInfo = namedItem[i];
var box = listInfo;

newListItem.text = box;
newListItem.value = box;

list.add(newListItem);

}

}
函数GetNamedItems(){ var list=document.getElementById('ddlNamed'); $('#ddlname').find('option:gt(0)').remove(); 对于(变量i=0;i向我们展示代码,否则我们无法给你正确的答案,只是猜测-你要么将代码改为
.html()
而不是
.append()
或者使用
.empty()
为你的回复添加了我的代码片段Thanx Spokey,它工作正常。但它也删除了我的第一项下拉列表,即。,“选择”。如何保留我的第一项,然后刷新下拉列表。@Rooney您可以创建option元素并附加它,也可以只在内部html中写入它