使用javascript填充下拉列表中的数组元素

使用javascript填充下拉列表中的数组元素,javascript,html,Javascript,Html,我试图使用javascript将数组元素添加到dropdownlist,并参考了以下链接,但没有成功: 代码: var itemArray=new Array(); var ddlItems=document.getElementById("ddlitemslist").value; itemArray=["a","b","c"]; for(var i=0;i<itemArray.length;i++) { var opt = itemArray[i]; var

我试图使用javascript将数组元素添加到dropdownlist,并参考了以下链接,但没有成功:

代码:

var itemArray=new Array();
var ddlItems=document.getElementById("ddlitemslist").value;
itemArray=["a","b","c"];

for(var i=0;i<itemArray.length;i++)
{
    var opt = itemArray[i];
    var el = document.createElement("option");

    el.textContent = opt;
    el.value = opt;

    ddlItems.option.value=el; /*throws error that 'option' is not part of function*/
}
var itemArray=new Array();
var ddlItems=document.getElementById(“ddlitemslist”).value;
itemArray=[“a”、“b”、“c”];

对于(var i=0;i如果将数组分配给变量,则不必使用
new array()
初始化它,因为您只需覆盖它

通过使用
new Array()
您已经创建了一个新的空数组。 然后基本上用不同的数组覆盖它-
itemArray=[“a”、“b”、“c”]

如果要将动态创建的选项推送到
ddletems
元素,请使用
appendChild

注意:在您的特定情况下,如果您想从DOM中捕获this
select
,只需使用
document.getElementById()
而不使用
.value
,因为我们将引用它的其他属性,而不是
value
本身

var ddlItems=document.getElementById(“ddlitemslist”),
itemArray=[“a”、“b”、“c”];
对于(var i=0;i

如果将数组分配给变量,则不必使用
new array()
初始化它,因为只需覆盖它即可

通过使用
new Array()
您已经创建了一个新的空数组。 然后基本上用不同的数组覆盖它-
itemArray=[“a”、“b”、“c”]

如果要将动态创建的选项推送到
ddletems
元素,请使用
appendChild

注意:在您的特定情况下,如果您想从DOM中捕获this
select
,只需使用
document.getElementById()
而不使用
.value
,因为我们将引用它的其他属性,而不是
value
本身

var ddlItems=document.getElementById(“ddlitemslist”),
itemArray=[“a”、“b”、“c”];
对于(var i=0;i
抛出“选项”不是函数的一部分的错误

您得到的错误可以自行解释,您正在尝试调用
ddliteslist
值而不是对象上的
option.value

在初始化
ddletems
变量时,不应返回
值,而应返回对象,如:

var ddlItems=document.getElementById("ddlitemslist").value;
应该是:

var ddlItems=document.getElementById("ddlitemslist");
注意:不需要
var itemArray=new Array();

希望这有帮助

var itemArray=new Array();//您可以删除此行
var ddlItems=document.getElementById(“ddlitemslist”),
itemArray=[“a”、“b”、“c”];
对于(var i=0;i
抛出“选项”不是函数的一部分的错误

您得到的错误可以自行解释,您正在尝试调用
ddliteslist
值而不是对象上的
option.value

在初始化
ddletems
变量时,不应返回
值,而应返回对象,如:

var ddlItems=document.getElementById("ddlitemslist").value;
应该是:

var ddlItems=document.getElementById("ddlitemslist");
注意:不需要
var itemArray=new Array();

希望这有帮助

var itemArray=new Array();//您可以删除此行
var ddlItems=document.getElementById(“ddlitemslist”),
itemArray=[“a”、“b”、“c”];
对于(var i=0;i

您必须选择
选择
元素,然后在迭代数组时创建
选项
元素作为
选择
元素的子元素

你需要更换

var ddlItems=document.getElementById("ddlitemslist").value;


您必须选择
select
元素,然后在迭代数组时创建
选项
元素作为
select
元素的子元素

你需要更换

var ddlItems=document.getElementById("ddlitemslist").value;


主要的问题不是来自数组初始化…它只是一个额外的行,不会破坏代码,但最好删除它。@ZakariaAcharki它在代码段中不是清晰可见吗?无论如何,我已经注意到了(:主要问题不是来自数组初始化…它只是一个额外的行,不会破坏代码,但最好删除它。@ZakariaAcharki它在代码段中不是清晰可见吗?总之-我已经注意到了(: