检查单选按钮的值

时间:2013-06-15 11:32:56

标签: javascript jquery html

<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()
})

直播:http://jsfiddle.net/j9cj5/

为什么这总是给我看水?我该如何检查这些单选按钮的值?我想检查这个,如果我改变这个值,如果我点击检查。

3 个答案:

答案 0 :(得分:5)

选择器$('input[name=group2]')将选择具有该名称的所有元素,而val()仅返回集合中第一个元素的值,因此始终为Water。你必须只检查被检查的无线电:

function check() {
    alert( $('input[name=group2]:checked').val());
}

FIDDLE

答案 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