用js设置下拉框为只读的小技巧

  在项目开发过程中我们时常会碰到要设置下拉框为只读(readonly),但是可惜的是select没有只读属性,所以需要在select外面包含一个span,通过js来改变。

  下面这段html代码是在struts2的下拉标签中加入了span标签,在页面装载的时候就让下拉框变成不可读。

  

复制代码 代码如下:

  <body onload="init()">

  <span id="id_select">

  <s:select name="sjdwmc" list="sjdxdwList" listKey="dxbh" listValue="dwmc" headerKey="" headerValue=""></s:select>

  </span>

  </body>

  如下是js代码,在init方法中调用selectReadOnly让下拉框变成只读。

  

复制代码 代码如下:

  /*根据页面上span的id设置select为只读/

  function selectReadOnly(selectedId){

  var obj = document.getElementById(selectedId);

  obj.onmouseover = function(){

  obj.setCapture();

  }

  obj.onmouseout = function(){

  obj.releaseCapture();

  }

  obj.onfocus = function(){

  obj.blur();

  }

  obj.onbeforeactivate = function(){

  return false;

  }

  }

  function init(){

  selectReadOnly("id_select");

  }

  做到这里大功告成,试试效果吧!!!