因为Select下拉框只支持disabled属性,不支持readOnly属性,
但是用disabled就无法将下拉框中的数据读出来,所以要想办法将select下拉框设置成只读的。
将select下拉框设置成readonly 的两种办法。
第一种:
<script>var f=s.selectedIndex</script> <select name=s onchange="selectedIndex=f"> <option>1 </option> <option selected>2 </option> </select>
第二种:
<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键时跳过它,使下一个控件获得焦点。
在网上搜索了一下,发现有个一下类似的方法:
①
<select name="select123" onbeforeactivate="return false;" onfocus="this.blur();" onmouseover="this.setCapture();" onmouseover="this.releaseCapture();"> <option>aaa</option> </select>
②或者使用如下的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>
①②使用起来相对于不太好用,文章前者更实用。
相关推荐
在JavaScript中,设置下拉框(也称为选择框或<select>元素)为只读状态意味着用户不能更改下拉框中的选项,但仍然可以查看其内容。这种功能在某些情况下非常有用,例如展示信息或者防止非授权修改数据。下面将详细...
综上所述,要实现"下拉框设置为只读模式时不再弹出下拉框"的功能,我们可以结合使用HTML的`readonly`属性、CSS的`pointer-events`属性以及可能的JavaScript代码来达到预期效果。在提供的`test.html`文件中,应该包含...
对于文本输入框,我们可以直接使用HTML的`readonly`属性,但针对下拉框(`<select>`元素),情况就有所不同,因为HTML标准并没有提供直接的只读属性。在“用js设置下拉框为只读的小技巧”这一主题中,我们将探讨如何...
其次,在***环境下实现下拉框只读功能,需要用到服务器端代码。在***中,下拉框通常被封装在服务器控件中,比如DropDownList。要使这个控件只读,可以通过设置其Attributes属性来实现。具体操作是在服务器端代码中,...
然而,一个常见的问题是,当`disabled`属性被设置在`<select>`元素上时,后台程序在提交表单时可能无法获取到选中的选项值。这是因为`disabled`状态的表单元素不会作为POST数据发送到服务器。为了解决这个问题,有两...
在进行网页表单设计时,经常会遇到需要将select下拉框设置为只读状态同时保证用户选择的值能够正常传递到服务器端的需求。为了实现这一需求,技术人员通常采用以下几种方法: 1. 使用JavaScript或jQuery技术动态...
接下来,为了确保页面加载时`select`元素处于不可编辑状态,可以使用JavaScript或jQuery来动态地设置`disabled`属性: ```javascript $(document).ready(function() { $("#postSelect").prop("disabled", true); }...
`SelectValue`函数在用户从下拉框中选择一个选项时被调用,它获取选中的值和文本,并将其分别设置到对应的隐藏输入框和只读输入框中: ```javascript function SelectValue(obj) { var input = obj.parentNode....
另一方面,`disabled`属性的应用范围更广,它可以应用于所有表单元素,包括`<input>`、`<select>`、`<button>`等。当一个元素被`disabled`,它不仅阻止用户编辑内容,还阻止用户对其进行任何操作,如点击或聚焦。更...
在使用Layui框架开发Web界面时,经常会遇到需要禁用select下拉框的场景,以防止用户点击或更改选项。Layui是一个前端UI框架,它提供了一套丰富的组件来简化前端开发过程。本文将详细介绍如何在Layui中实现select组件...
在Web应用中,下拉框通常用于提供用户选择项,但默认情况下它们是只读的。而“可编辑”的特性意味着用户不仅能选择已有的选项,还能输入新的值,增加了交互性和灵活性。 描述中提到的“NULL 博文链接:...
1. **可编辑SELECT**:在默认情况下,`SELECT`控件是只读的,用户只能从中选择已有的选项。但通过扩展,我们可以允许用户直接在下拉框内输入新的值,这在需要用户自由输入的场景中非常有用。 2. **自定义列数**:在...
标题中的“一个简单的实现下拉框多选的插件可移植性比较好”指的是一个JavaScript插件,该插件用于创建一个多选下拉框,具备良好的可移植性,可以在不同的项目中方便地应用和复用。这个插件的主要目标是解决在实现...
- 显示部分:`<div class="dropdown-display">` 是下拉框在未展开时显示的部分,包含一个`<span>`元素和一个只读的`<input>`元素,用于显示已选值和下拉图标。 - 搜索框:`<div class="dropdown-search">` 提供了...
若要支持多选,可以设置`<select>`的`multiple`属性。然后,可以使用JavaScript来限制用户可以选择的最大选项数量。 3. **搜索过滤**:对于包含大量选项的下拉框,可以添加搜索功能,允许用户输入关键词过滤出相关...
本篇将深入探讨jqTransform的常用功能,包括复选框、单选按钮、表单列表、只读输入框、下拉框以及如何结合layer框架实现弹出框。 1. **复选框与单选按钮** jqTransform提供了一套优雅的复选框和单选按钮样式,它们...
在IT行业中,尤其是在Web开发领域,经常需要与用户界面交互,ComboBox(下拉框)是一种常用的组件,用于提供用户选择的选项。本知识点主要聚焦于如何在Ext4.0框架下动态修改ComboBox的选择项,特别是在本地模式下...
input元素可以通过type属性设置不同的输入类型,比如text表示文本输入框。select元素用于创建下拉选择列表,它通常包含一个或多个option元素作为可选择的选项。 JavaScript是前端开发中不可或缺的技术之一,它能够...
然而,offsetLeft属性是只读的,不能直接用于设置元素的位置。如果你需要改变元素的位置,应该使用style.left这样的属性,因为它支持读写操作。 另一个重要的区别是,style.left的值必须在元素的样式定义中明确指定...