昨天在使用select的onclick中取selectedIndex 时候老出问题,后来发现取到的selectedIndex老是前面一次的,但延迟一些时间取就没有这个问题,不知道是不时BUG ,可能是IE6 DOM处理比较慢的缘故吧.今天在IE8下试验没有这样的问题.
<script type="text/javascript" >
function sel_click(){
// 原先的选中index
var selectObj=document.getElementById("selobj");
var oldIdx = selectObj.selectedIndex;
alert(oldIdx);
//确保取到点击后的index
setTimeout(function(){alert(selectObj.selectedIndex);}, 60);
}
</script>
<body bgcolor="#FFFFFF">
<select id="selobj" onclick="sel_click()" size="8" multiple="true">
<option value="1" >aaa</option>
<option value="2" >bbb</option>
<option value="3" >ccc</option>
</select>
<div id="reslut" ></div>
本文记录了在IE6浏览器中使用JavaScript获取下拉菜单selectedIndex属性时遇到的问题及解决方案。当尝试立即获取selectedIndex值时,可能会得到错误的结果,尤其是在点击事件中。为解决此问题,可以通过设置延迟来确保DOM更新完成。
815

被折叠的 条评论
为什么被折叠?



