尝试获取选定的单选按钮值时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抛出错误的主要内容,如果未能解决你的问题,请参考以下文章