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

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

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

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

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

我如何成功查询checked属性?


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

checked复选框DOM元素的属性将为您提供元素的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
}

jQuery 1.6+

$('#isAgeSelected').prop('checked')

jQuery 1.5及以下版本

$('#isAgeSelected').attr('checked')

任何版本的jQuery

// Assuming an event handler on a checkbox
if (this.checked)

所有的功劳都归西安


我正在使用这个,这工作非常好:

$("#checkkBoxId").attr("checked") ? alert("Checked") : alert("Unchecked");

注意:如果复选框被选中,它将返回true,否则不确定,所以最好检查“TRUE”值。

添加评论

友情链接:蝴蝶教程