JavaScript seeting selectedIndex为空白以供选择不起作用

时间:2013-03-26 20:59:33

标签: javascript

我正在尝试将下拉选项的默认选择设为空白。

如果我使用HTML生成选择下拉列表,则可以正常工作。 但是,当我使用javascript生成相同的下拉列表时,它不起作用。

请看 http://jsfiddle.net/m2HSb/

<select id="myDropdown">      
    <option>Option 1</option>     
    <option>Option 2</option>     
    <option>Option 3</option>     
</select> 

<div id="yo"></div>

document.getElementById("myDropdown").selectedIndex = -1

var my_select = document.createElement("select")
for ( var i = 0 ; i < 3 ; i++ ) {
    my_select.options[i] = new Option(i,i)    
}
my_select.selectedIndex = -1
document.getElementById("yo").appendChild(my_select)

请注意,第一个下拉列表为空白,第二个下拉列表不是。

1 个答案:

答案 0 :(得分:2)

显然,您无法设置尚未插入DOM的selectedIndex元素的select

如果您在my_select.selectedIndex = -1之后移动append,那么它可以正常工作。

var my_select = document.createElement("select");
for ( var i = 0 ; i < 3 ; i++ ) {
    my_select.options[i] = new Option(i,i);
}
document.getElementById("yo").appendChild(my_select);
my_select.selectedIndex = -1;

Here's the fiddle