使用JavaScript在下拉列表中获取选定的值

这篇博客讨论了如何使用JavaScript从HTML下拉列表中获取选定值的问题。作者列举了多种不同的方法,包括使用`options.selectedIndex`、`value`属性等,还提到了在不同浏览器中的兼容性问题,并提供了相关示例代码。
摘要由CSDN通过智能技术生成

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

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

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

#1楼

如果您具有如下所示的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.options[e.selectedIndex].value;

strUser设为2 。 如果您真正想要的是test2 ,请执行以下操作:

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

这会使strUser成为test2


#2楼

var strUser = e.options[e.selectedIndex].value;

这是正确的,应该会给您带来价值。 是您要的文字吗?

var strUser = e.options[e.selectedIndex].text;

所以您在术语上很清楚:

<select>
    <option value="hello">Hello World</option>
</select>

该选项具有:

  • 索引= 0
  • 值=你好
  • 文字= Hello World

#3楼

我能看到的使该代码不起作用的唯一原因是,如果您使用的是IE7-,并且忘记为<option> -tags指定value属性,则其他所有浏览器都应将open-close标记中的内容转换为期权价值。


#4楼

如果您曾经运行过纯粹为Internet Explorer编写的代码,则可能会看到以下内容:

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

在Firefox等中运行上述命令将给您一个“不是函数”错误,因为Internet Explorer允许您摆脱使用()而不是[]的麻烦:

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

正确的方法是使用方括号。


#5楼

以下代码展示了与使用JavaScript从输入/选择字段获取/输入值有关的各种示例。

源链接

工作的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值