用于创建下拉列表并获取所选值的JavaScript

时间:2014-05-18 05:08:19

标签: javascript html dom html-select

我需要在网页上添加下拉列表。 通常HTML代码就是这样;

<select id="au_1_sel" name="au_1_sel" class="searchw8">
    <option value="AU" selected="">method1</option>
    <option value="FI">method2</option>
</select>

如何使用JavaScript创建上述元素。 在我创建此下拉列表后。我需要在按钮后添加它。

var button = document.getElementById("button1");

我已经获得了按钮元素。 此外,单击该按钮时,我想知道人们在下拉列表中选择了哪个选项。我怎么能用JavaScript做到这一点。

我试试这个

var select = document.createElement("select");
select.id = "wayToCalculate";
//select.name="au_1_sel";
//select.class=class="searchw8";

var option1 = document.createElement("option");
option1.value="1";
option1.selected="";
option1.innerHTML= "1";

var option2 = document.createElement("option");
option2.value="2";
option2.innerHTML= "2";

var option3 = document.createElement("option");
option3.value="3";
option3.innerHTML= "3";

select.addChild(option1);
select.addChild(option2);
select.addChild(option3);

$(select).insertAfter(button);

但是谈到这一点。     select.addChild(选项1);

chrome浏览器给我一个错误。

Uncaught TypeError: undefined is not a function

似乎addChild在这里不起作用。

2 个答案:

答案 0 :(得分:8)

Example

<强> HTML

<div id="container">   
    <button id="button1">button1</button>
</div> 

<强>的JavaScript

var div = document.querySelector("#container"),
    frag = document.createDocumentFragment(),
    select = document.createElement("select");

select.options.add( new Option("Method1","AU", true, true) );
select.options.add( new Option("Method2","FI") );


frag.appendChild(select);
div.appendChild(frag);

答案 1 :(得分:4)

var select = document.createElement("select");
select.id = "au_1_sel";
select.name="au_1_sel";
select.class=class="searchw8";

var option1 = document.createElement("option");
option.value="AU";
option.selected="";
option.innerHTML= "method1";

var option2 = document.createElement("option");
option.value="FI";
option.innerHTML= "method2";

select.addChild(option1);
select.addChild(option2);
document.addChild(select);

var button = document.getElementById("button1");
button.onClick=function(){alert(select.options[select.selectedIndex].value);}