欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于控制下拉菜单的JS控制的代码实现

程序员文章站 2022-03-29 11:40:12
文本框有readonly属性,直接设置;下拉框没有readonly属性,也不能通过其他属性进行只读的设置,下拉框只有disabled属性,但是这个属性设成true之后,值就获取不到...

文本框有readonly属性,直接设置;下拉框没有readonly属性,也不能通过其他属性进行只读的设置,下拉框只有disabled属性,但是这个属性设成true之后,值就获取不到了;

网上搜了一下,大部分是控制鼠标、键盘事件,来控制只读的(即:不让下拉框获取焦点)

代码如下:

<span onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();">  
<select >  
<option>1 </option>  
<option selected>2 </option>  
</select>  
</span>  

其中onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" 屏蔽了鼠标事件,

onfocus="this.blur();"屏蔽了键盘事件,onfocus="this.blur();"表示该对象将获得焦点时就让它失去焦点,按键盘的TAB键时跳过它,使下一个控件获得焦点。

方法二:

其实也可以通过锁定下拉框的值,来控制(另外,顺便添加了一个灰色的背景色)

代码如下:

<script>  
var hxj="field6161";  
var hxj_index=document.getElementById(hxj).selectedIndex;  
jQuery(document).ready(function() {  
     setSelectRead(hxj,hxj_index);  
});  
function setSelectRead(field_r,param){  
   var obj=document.getElementById(field_r);  
   jQuery("#"+field_r).css("background-color","#DCDCDC");  
   jQuery("#"+field_r).bind("click",function(){           
         this.selectedIndex =param;      
   });  
)  
</script>