以下是我如何尝试获取收音机的价值:
var $radios = $('input:radio[name=extract_action]');
$radios.change(function() {
val = $(':checked', this).val();
alert(val);
});
但警报显示“未定义”。 我试过
val = $(':checked', $(this)).val();
甚至
val = $(':checked', $radios).val();
但它是一样的。
修改
这是HTML标记:
<input name="extract_action" checked="checked" type="radio" value="1" /> Ok<br />
<input name="extract_action" type="radio" value="0" /> No
答案 0 :(得分:4)
$(':checked', $radios).val();
正在寻找$radios
中元素的已检查子项,而不是过滤单选按钮集。相反,您将需要使用filter()函数:
var $radios = $('input:radio[name=extract_action]');
$radios.change(function() {
val = $radios.filter(':checked').val();
alert(val);
});
<强> Working Demo 强>
答案 1 :(得分:3)
你可以这样做
$(function(){
$('input:radio[name="extract_action"]').change(function(){
alert(this.value);
});
});
工作FIDDLE
答案 2 :(得分:3)
更简化的一个......
var $radios = $('input:radio[name=extract_action]:checked');
$radios.change(function() {
val = $radios.val();
alert(val);
});