javascript - 选择后禁用下拉列表后如何从下拉列表中获取所选值

标签 javascript drop-down-menu

我在下面有这个代码。选择后所有内容都将被禁用。

<select id="dropdown" name="dropdown" onchange="javascript:this.disabled = 'disabled';">
<option value="dropdown">Pls select one
<option value="apple">Apple
<option value="oragne">Orange
<option value="grapes">Grapes
</select>

但是当我点击提交时,“下拉菜单”的值没有被传递。我在这里遗漏了什么吗?

最佳答案

禁用的表单控件不会被提交。这是正常行为。

一种解决方法是将所选值复制到提交的隐藏输入。

(不过,我真的不建议禁用更改选择 - 如果用户不小心单击了错误的内容怎么办?如果他们尝试使用键盘进行选择怎么办?)

(另外,您在内联事件属性中不需要 javascript:。)

编辑:如何实现隐藏输入?那么,为隐藏输入指定服务器端代码所需的名称(并从 select 元素中删除 name 属性):

<input type="hidden" name="dropdown" id="dropdown">

然后你的 onchange 属性将类似于:

<select onchange="document.getElementById('dropdown').value=this.value; this.disabled=true;">

关于javascript - 选择后禁用下拉列表后如何从下拉列表中获取所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226820/

相关文章:

javascript - 如何为单独的 webpack 服务器/客户端配置正确覆盖 babel@7 插件

javascript - slideDown 菜单栏向下滑动其他文档

javascript - Antd Select 组件模式多重、复选框样式

javascript - 钛合金中的 webviews 或 native 组件

javascript - 如何导入驻留在两个目录中的文件

jquery - 为什么选择下拉菜单不允许我单击某个项目 IE,但在 Firefox、Chrome 等中却可以正常工作?

php - 根据第一个选择框选项填充第二个选择框

css - 如何创建仅 CSS(垂直)下拉菜单?

javascript - 如何使用 javascript/jquery 将数字格式化为印度货币(在数据表中)

javascript - 用于从字符串中剥离 URL 的正则表达式