javascript - 向select里添加项并设置选中时的问题

来源:互联网 发布:考勤机如何修改数据 编辑:程序博客网 时间:2024/05/18 02:55

假设有:
<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;"));