javascript - 获取没有选定属性的选定选项
问题描述
所以如果这是我的示例代码:
<select id="box1" name="selectArea">
<option value="98">dog</option>
<option value="7122">cat</option>
<option value="142">bird</option>
</select>
这是我的 jQuery 代码:
var x = document.getElementsByName("selectArea")[0];
var selected = x.options[x.selectedIndex].value;
this 的值总是错误的,因为选项中没有“selected”属性。就我而言,我使用的是新表单,用户可以选择一个值。当他们选择一个选项时,“selected”属性不会自动附加到该选项。
我将如何选择没有实际选定属性的选项?这甚至可能吗?当我在下拉列表中选择另一个选项时, x.selectedIndex 的值不会改变。
解决方案
在 jQuery 中,您可以简单地使用$("[name='selectArea']").val()
var option = $("[name='selectArea']").val();
console.log(option);
$("[name='selectArea']").on('change', function(){
var option = $("[name='selectArea']").val();
console.log(option);
});
$('button').on('click', function(){
alert($("[name='selectArea'] option:selected").text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="box1" name="selectArea">
<option value="98">dog</option>
<option value="7122">cat</option>
<option value="142">bird</option>
</select>
<button>Click Me</button>
推荐阅读
- azure - 我可以运行一个 Azure 函数的多个实例来监听同一个队列吗
- spring - Mockito spy 抛出存根异常
- python-2.7 - 在 Alexa 开发者控制台中,如何获取要在主动 api 中使用的客户端 ID 和客户端秘密访问密钥
- angular - 想在 Angular 7 应用程序中使用 Web 组件(在 reactJS 中创建)
- c# - 确定在 WPF 容器中触发上下文菜单的绑定对象?
- javascript - 如何使用 jquery 更改动画速度?
- angular - @ViewChild 返回未定义 - Angular 2
- android - 哪些版本的 Android NDK 支持 64 位架构?
- git - git 将部分更改从“待提交”移动到本地更改
- r - 在 data.frame 中传播和排序连接的因子变量