Выбор значений двух радиокнопок jQuery - PullRequest
1 голос
/ 04 ноября 2011

У меня есть следующий 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 ]

5 голосов
/ 04 ноября 2011

Добавьте: выбранный фильтр к вашему селектору, и он будет работать.например,

val1 = $('input[name="group1"]:checked').val();
val2 = $('input[name="group2"]:checked').val();
1 голос
/ 04 ноября 2011
$(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);
    });

});
0 голосов
/ 04 ноября 2011

Да, вы правы, это значение первого входа в группу.Просто используйте $('input[name="group1"]:checked') вместо $('input[name="group1"]')

...