检索jQuery中复选框的布尔状态

Retrieving the boolean state of a checkbox in jQuery?

本文关键字:布尔 状态 复选框 jQuery 检索      更新时间:2023-09-26

我有一个复选框。

<input id="new-consultation-open" type="checkbox" />

我试图为一个变量分配一个布尔值,该值等于复选框的状态。

consultation.save({
    open: $("#new-consultation-open").val()
});

但是,无论是否选中该框,分配给open的值都是'on'

jQuery的val方法将从复选框中选择value属性,该属性是在表单被选中时发送到服务器的文本。默认情况下,大多数浏览器将复选框值设置为on

要检查它是否已在客户端代码中检查,您应该使用.prop('checked')

consultation.save({
    open: $("#new-consultation-open").prop('checked')
});

.val()始终是一个truthy值,因为它不查看输入的"checked"属性。使用这个替代:

consultation.save({
    open: $('#new-consultation-open').attr('checked')
});