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

2019-12-21,,,

在项目开发过程中我们时常会碰到要设置下拉框只读(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");
}

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

您可能感兴趣的文章:

  • js控制input框只读实现示例
  • js 禁用只读文本框获得焦点时的退格键
  • JavaScript实现点击单选按钮改变输入框中文本域内容的方法
  • JS清空多文本框、文本域示例代码
  • JS替换文本域内的回车示例
  • javascript实现文本域写入字符时限定字数
  • 利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
  • JS限制Textarea文本域字符个数的具体实现
  • 计算文本域剩佘长度的js代码
  • JavaScript 文本域字体大小选择功能
  • JS控制文本域只读或可写属性的方法

《用js设置下拉框为只读的小技巧.doc》

下载本文的Word格式文档,以方便收藏与打印。