slect的每次选中时不论是否改变都触发事件的实现

也可以将onmousedown换成onblur
<selectvalue1 = "${personRge.ZA0100 }" value2 = "${personRge.LY01ID }" onmousedown="this.sindex = this.selectedIndex; this.selectedIndex = -1;" onblur="if(this.sindex) this.selectedIndex = this.sindex;else{this.selectedIndex=0;}" onchange="this.sindex = undefined;openReportUrl1(this);">

<
select value1 = "${personRge.ZA0100 }" value2 = "${personRge.LY01ID }" onmousedown="this.sindex = this.selectedIndex; this.selectedIndex = -1;" onmousemove="if(this.sindex)this.selectedIndex=this.sindex;else{this.selectedIndex=0;}" onchange="this.sindex = this.selectedIndex;openReportUrl1(this);"> <option value="0">请选择审批表</option> <option value="1">录用公务员审批表</option> <option value="2">人民警察审批表</option> <option value="3">参照公务员法管理人员审批表</option> <option value="4">选派大学生审批表</option> </select>

事件触发顺序1:单击下拉列表(向下箭头)触发onmousedown,且初始值this.sindex为undefined;this.selectedIndex为0

      2:如果选定某个值时出发onchange,如果不选定直接移开鼠标则不触发onchange选项也不改变
      3:鼠标在列表上滑动时,触发onmousemove或onblur

      

posted @ 2012-04-19 23:43  zbjice  阅读(451)  评论(0编辑  收藏  举报