因为Select下拉框只支持disabled属性,不支持readOnly属性,
而在提交时,disabled的控件,又是不提交值的,在网上搜索了一下,发现有个很好的方法:
Html代码
<select name="select123" onbeforeactivate="return false;" onfocus="this.blur();" onmouseover="this.setCapture();" onmouseover="this.releaseCapture();">
<option>aaa</option>
</select>
或者使用如下的js脚本:
Js代码
<select name="select123">
<option>aaa</option>
</select>
<script type="text/javascript">
SetReadOnly(document.getElementById("select123"));
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();};
}
}
</script>
不过我这次用的是用一个隐藏控件传递disabled的select控件,因为这个select控件经常需要disable和enable
分享到:
相关推荐
然而,一个常见的问题是,当`disabled`属性被设置在`<select>`元素上时,后台程序在提交表单时可能无法获取到选中的选项值。这是因为`disabled`状态的表单元素不会作为POST数据发送到服务器。为了解决这个问题,有两...
【JS Select下拉框(支持输入模糊查询)】 在网页开发中,`<select>`元素通常用于创建下拉框,但原生的HTML `<select>`元素并不支持输入模糊查询功能。为了实现这一功能,我们需要利用JavaScript来扩展和增强下拉框的...
`SelectValue`函数在用户从下拉框中选择一个选项时被调用,它获取选中的值和文本,并将其分别设置到对应的隐藏输入框和只读输入框中: ```javascript function SelectValue(obj) { var input = obj.parentNode....
今天我们要来分享一款很实用的jQuery插件,它是一个基于jQuery多级联动的省市地区Select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个Select下拉框也...
最后,我们在`<body>`标签的`onload`事件中调用`init`函数,确保页面加载完成后执行`selectReadOnly`,将下拉框设置为只读状态。 通过这种方式,虽然select元素本身不具备只读特性,但我们利用JavaScript模拟了只读...
这里的`[readonly]`是CSS的属性选择器,它会选择所有`readonly`属性被设置的`select`元素。 但是,这样做仅仅阻止了用户的交互,视觉上下拉箭头依然可点击。为了进一步模拟只读效果,我们可以通过修改`select`元素...