如何检查复选框是否在jQuery中被选中?

我需要检查复选框的checked属性,并使用jQuery根据选中的属性执行操作。

例如,如果年龄复选框被选中,那么我需要显示一个文本框才能输入年龄,否则隐藏文本框。

但是下面的代码默认返回false

if ($('#isAgeSelected').attr('checked'))
{
    $("#txtAge").show();
}
else
{
    $("#txtAge").hide();
}}

如何成功查询checked属性?


如何成功查询选中的属性?

复选框DOM元素的checked属性将为您提供元素的checked状态。

鉴于你现有的代码,你可以这样做:

if(document.getElementById('isAgeSelected').checked) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

不过,使用toggle可以做得更漂亮一些:

$('#isAgeSelected').click(function() {
    $("#txtAge").toggle(this.checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="isAgeSelected"/>
<div id="txtAge" style="display:none">Age is something</div>

使用jQuery的is()函数:

if($("#isAgeSelected").is(':checked'))
    $("#txtAge").show();  // checked
else
    $("#txtAge").hide();  // unchecked

使用jQuery> 1.6

<input type="checkbox" value="1" name="checkMeOut" id="checkMeOut" checked="checked" />

// traditional attr
$('#checkMeOut').attr('checked'); // "checked"
// new property method
$('#checkMeOut').prop('checked'); // true

使用新的属性方法:

if($('#checkMeOut').prop('checked')) {
    // something when checked
} else {
    // something else when not
}
链接地址: http://www.djcxy.com/p/181.html

上一篇: How to check whether a checkbox is checked in jQuery?

下一篇: How do I return the response from an asynchronous call?