2013-03-26 54 views
0

我想使默认选择的下拉选择为空。JavaScript selections selectedIndex空白选择不工作

如果我使用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) 

注意,第一个下拉列表是空的,第二个是没有的。

+3

你讨厌分号吗? – 2013-03-26 21:02:52

+0

它没有区别,对吧? – user1486030 2013-03-26 21:16:32

+0

它通常没有区别。结果是人们不同意他们的用法。 – Jivings 2013-03-26 21:17:50

回答

2

显然,您不能设置select元素的selectedIndex还没有插入到DOM中。

如果你移动my_select.selectedIndex = -1append然后它工作正常。

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