选择两个单选按钮jQuery的值

时间:2011-11-04 12:25:51

标签: jquery radio-button selectedvalue

我有以下HTML:

<div class="row1">
    <input type="radio" name="group1" value="0" checked="checked"/>Zero
    <input type="radio" name="group1" value="1" />One
</div>

<div class="row2">
    <input type="radio" name="group2" value="0" checked="checked" />Zero
    <input type="radio" name="group2" value="1" />One
</div>

以下jQuery代码:

$(document).ready(function() {
    var val1 = "";
    var val2 = "";

    $('input[name="group1"],input[name="group2"]').change(function() {
        val1 = $('input[name="group1"]').val();
        val2 = $('input[name="group2"]').val();
        alert(val1 + " : " + val2);
    });

});

现在,我的预期结果是,当其中一个单选按钮被更改时,它会获取两个单选按钮的选定值并将其显示在警告框中。

正如您在此处使用我的jsFiddle所见:http://jsfiddle.net/2whkp/结果始终为0:0。我有一种感觉,这可能是因为它始终只是获得该名称的第一个单选按钮。如果是这种情况,我将如何解决这个问题?

提前致谢,

戴夫

3 个答案:

答案 0 :(得分:5)

将:checked过滤器添加到您的选择器,它将起作用。 e.g。

val1 = $('input[name="group1"]:checked').val();
val2 = $('input[name="group2"]:checked').val();

答案 1 :(得分:1)

$(document).ready(function() {
    var val1 = "";
    var val2 = "";

    $('input:radio').change(function() {
        val1 = $('input:radio[name="group1"]:checked').val();
        val2 = $('input:radio[name="group2"]:checked').val();
        alert(val1 + " : " + val2);
    });

});

答案 2 :(得分:0)

是的,你是对的,这是该组中第一个输入的值。只需使用$('input[name="group1"]:checked')代替$('input[name="group1"]')