尝试获取选定的单选按钮值时jQuery抛出错误

Posted

技术标签:

【中文标题】尝试获取选定的单选按钮值时jQuery抛出错误【英文标题】:jQuery throwing error when trying to get selected radio button value 【发布时间】:2011-08-02 17:32:30 【问题描述】:

鉴于此单选按钮集:

<div id="reviewScope">
  <input type="radio" name="loadMarkers" id="day" value="day"><label for="day">24 Hours</label>
  <input type="radio" name="loadMarkers" id="week" value="week"><label for="week">Week</label>
  <input type="radio" name="loadMarkers" id="month" value"month"><label for="month">Month</label>
</div>

然后使用 jQuery 1.5.2 调用,我试图在答案 here 之后获取所选单选按钮的值:

$('#reviewScope input:radio').change(function() 
  period = $("input[name='loadMarkers']:checked").val();
  ....

Firebug 抛出错误:

$("input[name='loadMarkers']:checked").val 不是函数

我做错了什么?

【问题讨论】:

@mu。如果是这种情况,我认为更改处理程序永远不会运行,这就是错误所在 你在使用 jQuery 和其他一些 js 框架的组合吗? (如 wordpress 管理员)。如果是这种情况,请尝试将 $ 替换为 jQuery。 奇怪的是,如果我将 period = $("input[name='loadMarkers']:checked").val() 更改为 period = $(this).attr('value') 它可以工作。我尝试完全删除该行并添加了console.log($),但在 Firebug 中似乎没有任何记录。 【参考方案1】:

您是否缺少更改方法中的结束“)”?

$('#reviewScope input:radio').change(function() 
  period = $("input[name='loadMarkers']:checked").val();
  ....
)

http://jsfiddle.net/67Q68/

【讨论】:

这只是我的复制和粘贴错误。实际代码有右括号。【参考方案2】:

你可以这样做:

$('#reviewScope input:radio').each(function() 
   $(this).click(function() 
       period = $("input[name='loadMarkers']:checked").val();
       ....
   );
);

检查右括号和方括号

【讨论】:

【参考方案3】:
$("#day").click(function() 
 if ($(this).is(':checked')) 
     var period = "day";
    
);

对其他单选按钮一一做同样的事情

【讨论】:

以上是关于尝试获取选定的单选按钮值时jQuery抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

单击提交后如何获取选定的单选按钮以显示特定的隐藏 div?

在swing中获取选定的单选按钮列表

如何使用js获取选定的单选按钮值

如何使用js获取选定的单选按钮值

Android从选定的单选按钮获取价值

动态创建单选按钮并分配选定的值 PHP