一.方法为事件处理:
function SetReadOnly(obj){
if(obj){
obj.onbeforeactivate=function(){return false;};
obj.onfocus = function(){obj.blur();};
obj.onmouseover = function(){obj.setCapture();};
obj.onmouseout = function(){obj.releaseCapture();};
}
}
二.如果是在编辑页面,要求列表为只读且变灰,且在提交表单时候保留原值则,jquery的写法:
注意:要导入jquery的组件
var it=["level","possibility","priority"];//将标签的Id放入数组中
$.each(it,function(index,value){
SetReadOnly($("#"+value).get(0));//调用上边的方法
$("#"+value).after("<input type='hidden' name='"+$("#"+value).attr("name")+"' value='"+$("#"+value).val()+"' /> ");
$("#"+value).attr("disabled","disabled");
$("#"+value).css("color","gray");
});
此写法跨浏览器
上面方法的总结:将select设置为disabled的同时,把其值赋给一个与select相同name的隐藏域,这样就可以即使只读后台还能获取到值的效果。