首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在javascript中填充select元素的选项

如何在javascript中填充select元素的选项
EN

Stack Overflow用户
提问于 2011-07-07 02:13:47
回答 5查看 104.6K关注 0票数 37

代码:

代码语言:javascript
复制
var newSelect=document.createElement('select');
index=0;
var optn = document.createElement("option");

//langArray is an array that contains different items..the size
//is not fixed for this array.

for(element in langArray)
{
   //Now i want to assign each item in langArray to each option tag
   //will it be sumthng like "optn.options[index]=new Option("Sports", "sportsvalue", true,  false);
   //optn.accept(langArray[0]);
   index++;
}

我试图用这种方式填充选项,但它不是很好,因为我不知道如何在JS中填充数组中的选项。我是否必须使用循环,或者是否可以将langArray赋值给select元素的某个属性,然后所有内容都将启动并运行?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-07 02:21:51

您可以在循环中创建选项;

代码语言:javascript
复制
for(element in langArray)
{
   var opt = document.createElement("option");
   opt.value= index;
   opt.innerHTML = element; // whatever property it has

   // then append it to the select element
   newSelect.appendChild(opt);
   index++;
}

// then append the select to an element in the dom
票数 50
EN

Stack Overflow用户

发布于 2011-07-07 02:21:34

您需要在循环中创建option元素,设置属性和文本,并将其附加到select元素:

代码语言:javascript
复制
var select = document.createElement('select'),
    option,
    i = 0,
    il = langArray.length;

for (; i < il; i += 1) {
    option = document.createElement('option');
    option.setAttribute('value', langArray[i].value);
    option.appendChild(document.createTextNode(langArray[i].text));
    select.appendChild(option);
}

这里假设你的langArray看起来像这样:

代码语言:javascript
复制
var langArray = [
    {value: "val1", text: "text 1"},
    {value: "val2", text: "text 2"}
];

您需要调整代码以匹配您的数组

票数 14
EN

Stack Overflow用户

发布于 2019-02-25 18:00:16

代码语言:javascript
复制
    var dynamicSelect = document.getElementById("selectID");

        langArray.forEach(function(item){ 
        {
                var newOption = document.createElement("option");
                newOption.text = item.toString();//item.whateverProperty

                dynamicSelect.add(newOption);

                //new select items should populated immediately
        });
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6601028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档