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

IT技术 javascript jquery html checkbox
2021-01-31 20:18:26

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

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

但以下代码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房产?

6个回答

如何成功查询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>

这不是问题的答案。this.checked不是 jQuery,正如 OP 所要求的那样。此外,它仅在用户单击复选框时才有效,这不是问题的一部分。问题再次出现How to check whether a checkbox is checked in jQuery?在任何给定时间,无论是否单击复选框以及在 jQuery 中。
2021-03-13 20:18:26

使用 jQuery 的is()函数:

if($("#isAgeSelected").is(':checked'))
    $("#txtAge").show();  // checked
else
    $("#txtAge").hide();  // unchecked
更清洁的解决方案是$("#txtAge").toggle($("#isAgeSelected").is(':checked')).
2021-04-08 20:18:26

使用 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
}
如果您<input type="hidden" value="0" name="checkMeOut">像多个框架一样在复选框旁边放置一个复选框,以便始终提交值,则不起作用.is(':checked')另一方面在这种情况下有效。
2021-03-22 20:18:26

jQuery 1.6+

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

jQuery 1.5 及以下

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

任何版本的 jQuery

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

所有功劳都归功于西安

如果您<input type="hidden" value="0" name="checkMeOut">像多个框架一样在复选框旁边放置一个复选框,以便始终提交值,则不起作用.is(':checked')另一方面在这种情况下有效。
2021-04-04 20:18:26
从技术上讲,this.checked是使用直接的 Javascript。但我喜欢那个跨 jQuery 版本的答案!
2021-04-08 20:18:26

我正在使用这个,这工作得很好:

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

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