假设有:
<select name="sname">
<option value="1">class 1</option>
<option value="2" selected>class 2</option>
</select>
执行:
var opt = document.createElement("option");
opt.value="3";
opt.innerHTML="class 3";
document.getElementById("sname").appendChild(opt);
document.getElementById("sname").selectedIndex=2;
//这样并不能选中第三项,只有新加的项会出现这种情况
解决:
在document.sname.selectedIndex=2;之前调用一下document.getElementById("sname").focus();
或者setTimeout(0, new Function("document.getElementById('sname').selectedIndex=2;"));