You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中判断多个复选框是否全部未选中?

错误原因分析
  1. 第一段代码的问题:$().not() 方法返回的是jQuery对象,不管是否匹配到符合条件的元素,jQuery对象本身永远为真值,直接用&&做判断永远返回true,逻辑完全失效。
  2. 后两段代码的问题:首先存在语法错误,多了多余的右括号,会直接导致代码运行报错;就算修正语法,$().not(':checked').length 的逻辑本身是成立的,但语法问题导致代码无法正常执行。
正确实现方案

写法1:逐个校验(可读性高)

用is(':checked')直接获取元素的选中状态布尔值,取反后判断未选中状态:

if (
  !$("#adviceonprivatemail").is(":checked") &&
  !$("#adviceonmobile").is(":checked") &&
  !$("#adviceoncompanymail").is(":checked")
) {
  console.log('所有复选框均未选中')
} else {
  console.log('存在至少一个选中的复选框')
}

写法2:批量校验(代码更简洁)

把三个复选框合并成一个选择器批量选中,直接统计选中元素的数量,数量为0即代表全部未选中:

// 合并选择器选中所有需要校验的复选框
const $targetCheckboxes = $("#adviceonprivatemail, #adviceonmobile, #adviceoncompanymail")
if ($targetCheckboxes.filter(":checked").length === 0) {
  console.log('所有复选框均未选中')
} else {
  console.log('存在至少一个选中的复选框')
}

内容的提问来源于stack exchange,提问作者Stig Kølbæk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:54:03