如何使用JavaScript从下拉列表中获取所选值?

我try 了下面的方法,但它们都返回选定的索引而不是值:

var e = document.getElementById("ddlViewBy");
function show(){
  var as = document.forms[0].ddlViewBy.value;
  var strUser = e.options[e.selectedIndex].value;
  console.log(as, strUser);
}
e.onchange=show;
show();
<form>
  <select id="ddlViewBy">
    <option value="1">test1</option>
    <option value="2" selected="selected">test2</option>
    <option value="3">test3</option>
  </select>
</form>

推荐答案

如果您有一个如下所示的SELECT元素:

<select id="ddlViewBy">
  <option value="1">test1</option>
  <option value="2" selected="selected">test2</option>
  <option value="3">test3</option>
</select>

运行此代码:

var e = document.getElementById("ddlViewBy");
var strUser = e.value;

strUser等于2.如果你真正想要的是test2,那就这样做:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].text;

strUser等于test2

Javascript相关问答推荐

访客柜台的风格React.js

自定义帖子类型帖子未显示在网站上

在分区内迭代分区

如何使用Echart 5.5.0创建箱形图

对象和数字减法会抵消浏览器js中的数字

窗口.getComputedStyle()在MutationObserver中不起作用

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

判断表格单元格中是否存在文本框

在vercel throws上部署带有gunjs的sveltekit应用无法找到模块./' lib/文本编码'

TypeScript索引签名模板限制

将字符串UTC Date转换为ngx—counting leftTime配置值的数字

映射类型定义,其中值对应于键

将异步回调转换为异步生成器模式

删除加载页面时不存在的元素(JavaScript)

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

删除元素属性或样式属性的首选方法

未捕获语法错误:Hello World中的令牌无效或意外

Pevent触发material 用户界面数据网格中的自动保存

在传单的图像覆盖中重新着色特定 colored颜色 的所有像素

Firefox的绝对定位没有达到预期效果