我想动态添加选项到下拉框
var x =document.getElementById("c");
var optn = document.createElement("OPTION");
optn.text="hhh"
optn.value="val"
x.options.add(optn);
我在一个循环中进行它,其中的diff值为val和hhh.Bur有时我在下拉框中看不到任何值,可能是什么问题?
答案 0 :(得分:0)
add
是HTMLSelectElement对象的方法,而不是HTMLCollection对象的方法。
x.add(optn)
答案 1 :(得分:0)
假设元素的id为“subComponentOSID”,则javascript中唯一明显的问题是在为optn.text
和optn.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');