我怎么知道使用Jquery选择了哪个单选按钮

问题描述:

<input type="radio" id="radio1" name="rb1" value="no"> No 
<input type="radio" id="radio2" name="rb1" value="yes"> Yes 

当我说这个alert("Test =="+$('#radio1').attr('checked'));我期待false因为它没有被检查但它返回undefined我怎么知道使用Jquery选择了哪个单选按钮

什么是正确的陈述? 为什么我得到undefined

+1

如果没有选中,没有'checked'属性,因此未定义 – Homer 2011-04-08 15:40:16

这篇文章解释了您的具体问题:http://forum.jquery.com/topic/checking-if-certain-radiobutton-is-checked

即你需要使用这样的:alert($('#radio1').is(':checked'));

+0

总结:如果它被选中,我t有一个'检查'属性。如果未检查,则不存在“已检查”属性,因此未定义 – Homer 2011-04-08 15:39:05

// checked value 
var value = $("input[@name=rb1]:checked").val(); 

alert("Test == " + $('#radio1').val() == value); 

你得到undefined,因为选择的元素时,只存在checked属性。

你可以选择的元素的这样的值:

$('input[name=rb1]:checked').val() 

您可以检查是否有特定的元素被分几路检查,例如:

if ($('#radio1:checked').length) ... 

或:

if ($('#radio1').is(':checked')) ...