向下拉框动态添加值的问题

时间:2011-02-16 07:04:10

标签: javascript html

我想动态添加选项到下拉框

  var x =document.getElementById("c");
    var optn = document.createElement("OPTION");
    optn.text="hhh"
    optn.value="val"
    x.options.add(optn);

我在一个循环中进行它,其中的diff值为val和hhh.Bur有时我在下拉框中看不到任何值,可能是什么问题?

3 个答案:

答案 0 :(得分:0)

add是HTMLSelectElement对象的方法,而不是HTMLCollection对象的方法。

x.add(optn)

答案 1 :(得分:0)

假设元素的id为“subComponentOSID”,则javascript中唯一明显的问题是在为optn.textoptn.value指定值的行上缺少分号。此外,虽然大多数浏览器将解析在select元素的选项集上调用add函数时的含义,但您应该将添加移动到select本身。请参阅Mozilla reference for HTMLSelectElement,它提供了一个示例。

在此期间,请尝试替换您提供的代码段:

var x =document.getElementById("subComponentOSID");
var optn = document.createElement("OPTION");
optn.text="hhh";  //Added semi-colon
optn.value="val";  //Added semi-colon
x.add(optn);  // Moved add to HTMLSelectElement

答案 2 :(得分:0)

试试这个:

var objSelect = document.getElementById("subComponentOSID");
objSelect.options[objSelect.options.length] = new Option('1','1');
objSelect.options[objSelect.options.length] = new Option('2','2');