<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
。
什么是正确的陈述?
为什么我会收到undefined
?
答案 0 :(得分:5)
这篇文章解释了您的确切问题:http://forum.jquery.com/topic/checking-if-certain-radiobutton-is-checked
即。你需要使用它:alert($('#radio1').is(':checked'));
答案 1 :(得分:2)
您获得undefined
,因为checked
属性仅在选择元素时才存在。
您可以像这样获取所选元素的值:
$('input[name=rb1]:checked').val()
您可以检查是否以多种方式检查特定元素,例如:
if ($('#radio1:checked').length) ...
或:
if ($('#radio1').is(':checked')) ...
答案 2 :(得分:1)
// checked value
var value = $("input[@name=rb1]:checked").val();
alert("Test == " + $('#radio1').val() == value );