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

2022-08-29 21:45:17

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

例如,如果选中了复选框,那么我需要显示一个文本框来输入,否则隐藏文本框。ageage

但默认情况下返回以下代码:false

if ($('#isAgeSelected').attr('checked')) {
  $("#txtAge").show();
} else {
  $("#txtAge").hide();
}
<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 selected
</div>

如何成功查询属性?checked


答案 1

如何成功查询已检查的属性?

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

因此,根据您现有的代码,您可以执行以下操作:

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

但是,有一种更漂亮的方法可以做到这一点,使用切换

$('#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>

答案 2

使用 jQuery 的 is() 函数:

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