0

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

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

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

4

1 回答 1

2

显然您不能设置尚未插入 DOMselectedIndex的元素的 。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;

这是小提琴

于 2013-03-26T21:02:56.973 回答