javascript - 如何获取选中的单选按钮。显示未定义
问题描述
我如何获得下面所选单选按钮的值是我的 html
<select id="pages>
<option>option here</option>
<option>option here</option>
</select>
<div class="form-group">
<label for="line_spacing" class="col-sm-3 control-label">Line Spacing</label>
<div class="col-sm-7">
<div class="radio line_spacing_radio">
<label>
<input type="radio" name="line_spacing" value="Double Spacing" />
<span class="cr"><i class="cr-icon glyphicon glyphicon-ok-sign"></i></span>
Double Spacing
</label>
<label>
<input type="radio" name="line_spacing" value="Single Spacing" />
<span class="cr"><i class="cr-icon glyphicon glyphicon-ok-sign"></i></span>
Single Spacing
</label>
</div>
</div>
</div>
我有一个效果很好的事件,并且能够实时检索选定的值,但是我的人的问题是在执行另一个事件时获取单选按钮的值我尝试了多个选择器似乎对我不起作用可能是什么问题。
以下是我切换收音机时起作用的事件。
$('input[type=radio][name=line_spacing]').change(function() {
line_spacing_data = this.value;
});
以上将正确地给出选定的收音机但是当我尝试时
var line_spacing = $('input[type=radio][name=line_spacing]:checked').val();
或者
var line_spacing = $('input[name="line_spacing"]:checked').val();
或者
var line_spacing2 = $('[name="line_spacing"]:checked').value;
我得到的只是未定义,这是因为我想获得在另一个动作中使用它的值。
这就是我想要检查收音机的方式
$('#pages').on('change', function(){
var line_spacing2 = $('[name="line_spacing"]:checked').value;
});
解决方案
您可能太早执行该行,即在选择任何收音机之前。您的收音机未选中,因此查询不会选择任何元素。调用.val()
一个空集合:undefined
.
每当您想要获取当前检查的 radio的值(如果有)时,都需要在事件处理程序中运行查询!
推荐阅读
- javascript - 如何使用 MongoDB 或 Mongoose 在一个查询中对两个集合进行分组
- macos - npx pod 安装错误。中止运行并遇到意外错误
- android - 多个文件没有被复制到Android中的本地目录
- android - Android 上没有显示测试广告 -AdMob
- javascript - JS - 显示网页来源的函数
- php - Laravel 8 唯一表单验证忽略
- c# - 如何调整模型验证(.NET Core Web Api)响应中的哪些字段?
- azure - 如何使用 Microsoft Graph API 访问其他组织的用户列表?
- javascript - React - Django:TypeError:无法读取未定义的属性“令牌”
- spring-boot - 如何测试从 MessagingGateway 到 ServiceActivator 的完整 IntegrationFlow