在項目開發過程中我們時常會碰到要設置下拉框為只讀(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");
}
做到這里大功告成,試試效果吧! ! !