我正在尝试将下拉选项的默认选择设为空白。
如果我使用HTML生成选择下拉列表,则可以正常工作。 但是,当我使用javascript生成相同的下拉列表时,它不起作用。
<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)
请注意,第一个下拉列表为空白,第二个下拉列表不是。
答案 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;