下拉框只读此功能并不是默认的,需要手动操作下,本文介绍用JS和C#分别在前端和后端控制下拉框为只读的方法
前端JavaScript的方法
<HTML> <HEAD> <TITLE>下拉框模拟只读</TITLE> <script type="text/javascript"> //根据下拉框ID设置下拉框只读 function setReadOnly(obj_id){ var obj = document.getElementById(obj_id); obj.onmouseover = function(){ obj.setCapture(); } obj.onmouseout = function(){ obj.releaseCapture(); } obj.onfocus = function(){ obj.blur(); } obj.onbeforeactivate = function(){ return false; } } </script> </HEAD> <BODY> <span id="span_select"> <select id="id_select"> <option value="1">AAAAAAAAA</option> <option value="2">BBBBBBBBB</option> <option value="3">CCCCCCCCC</option> <option value="4">DDDDDDDDD</option> </select> </span> <script type="text/javascript"> setReadOnly("span_select"); </script> <!-- 直接设置下拉框只读 --> <select onbeforeactivate="return false" onfocus="this.blur()" onmouseover="this.setCapture()" onmouseout="this.releaseCapture()"> </BODY> </HTML>
asp.net 后端C#代码
this.ddlSysCategory.Attributes.Add("onfocus","this.blur();"); this.ddlSysCategory.Attributes.Add("onbeforeactivate","return false"); this.ddlSysCategory.Attributes.Add("onmouseover","this.setCapture()"); this.ddlSysCategory.Attributes.Add("onmouseout","this.releaseCapture()");