<input type="radio" name="group2" value="Water"> Water<br>
<input type="radio" name="group2" value="Beer"> Beer<br>
<input type="radio" name="group2" value="Wine" checked> Tee
<span id="check" >check</span>
和jQuery:
function check()
{
alert($('input[name=group2]').val());
}
$('#check').click(function(){
check();
});
$('input[name=group2]').change(function(){
check()
})
为什么这总是给我看水?我该如何检查这些单选按钮的值?我想检查这个,如果我改变这个值,如果我点击检查。
答案 0 :(得分:5)
选择器$('input[name=group2]')
将选择具有该名称的所有元素,而val()
仅返回集合中第一个元素的值,因此始终为Water
。你必须只检查被检查的无线电:
function check() {
alert( $('input[name=group2]:checked').val());
}
答案 1 :(得分:4)
将$('input[name=group2]')
替换为$('input[name=group2]:checked')
:)
演示:http://jsfiddle.net/hungerpain/j9cj5/2/
发生这种情况的原因是因为$('input[name=group2]')
将生成所有单选按钮的数组,因此只会给出第一个元素(默认情况下会发生)。因此,获取所选元素,您必须使用:checked
伪选择器。
答案 2 :(得分:1)
试试这个
function check(val) {
alert(val);
}
$('input[name=group2]').change(function(){
check($(this).val());
});
这有效FIDDLE