2011-11-04 60 views
1

我有以下HTML:選擇值的jQuery

<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。我有一種感覺,這可能是由於它總是以該名稱獲得第一個單選按鈕。如果是這種情況,我將如何解決這個問題?檢查過濾器,您的選擇,也將努力:

由於提前,

戴夫

回答

5

添加。例如

val1 = $('input[name="group1"]:checked').val(); 
val2 = $('input[name="group2"]:checked').val(); 
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); 
    }); 

}); 
0

是的,你說得對,這是該組中的第一個輸入的值。只需使用$('input[name="group1"]:checked')而不是$('input[name="group1"]')