Javascript JQuery(3.3.1)复选框组合未能返回预期值

Javascript JQuery(3.3.1)复选框组合未能返回预期值,javascript,jquery,function,checkbox,Javascript,Jquery,Function,Checkbox,JQuery(3.3.1版)复选框实现有点问题。请参阅下面的代码示例 问题 除了一个组合外,选择每一个组合都是完美的,我似乎无法找出代码中的缺陷。当选择非工作组合时,控制台也不会抱怨。非工作组合: [✓] 复选框1 []复选框2 [✓] 复选框3 [✓] 复选框4 要记住的事情: 相同的复选框组合在那里失败 其他每个组合都能完美地工作并返回预期结果 我正在本地使用下载的、未压缩的jquery-3.3.1.js。因为源代码引用的是jquery 2.1.3,所以我还下载了未压缩的jquery-2.

JQuery(3.3.1版)复选框实现有点问题。请参阅下面的代码示例

问题

除了一个组合外,选择每一个组合都是完美的,我似乎无法找出代码中的缺陷。当选择非工作组合时,控制台也不会抱怨。非工作组合:

[✓] 复选框1
[]复选框2
[✓] 复选框3
[✓] 复选框4

要记住的事情:

  • 相同的复选框组合在那里失败
  • 其他每个组合都能完美地工作并返回预期结果
  • 我正在本地使用下载的、未压缩的
    jquery-3.3.1.js
    。因为源代码引用的是jquery 2.1.3,所以我还下载了未压缩的
    jquery-2.1.3.js
    文件。当引用任何一个jquery版本时,相同的复选框组合都会失败
  • 源代码在我的本地计算机上根本没有更改
似乎在实际的源代码中有一些缺陷,但似乎无法找出任何语法错误或esle缺少的任何东西

$(“#doIt”)。在(“单击”,函数(){
var check=$('input:checked:checkbox[name=cc]');
变量id=“”;
$。每个($(检查),函数(索引){
id+=$(this.attr('id');
});
如果($(检查).is(':checked')){
开关(id){
案例“c1”:
console.log(id);
打破
案例“c2”:
console.log(id);
打破
案例“c3”:
console.log(id);
打破
案例‘c4’:
console.log(id);
打破
案例“c1c2”:
console.log(id);
打破
案例“c1c3”:
console.log(id);
打破
案例“c1c4”:
console.log(id);
打破
案例“c2c3”:
console.log(id);
打破
案例“c2c4”:
console.log(id);
打破
案例“c3c4”:
console.log(id);
打破
案例“c1c2c3”:
console.log(id);
打破
案例“c1c2c4”:
console.log(id);
打破
案例“c2c3c4”:
console.log(id);
打破
案例“c1c2c3c4”:
console.log(id);
打破
}
}否则{
警报(“未检查”);
}
});

复选框1

复选框2
复选框3
复选框4

单击我!
这与JQuery无关。您只是缺少了一个与该组合匹配的
case
分支

您需要添加:
案例c1c3c4:

$(“#doIt”)。在(“单击”,函数(){
变量检查=$(“输入[name='cc']:检查”);
变量id=“”;
$。每个($(检查),函数(索引){
id+=$(this.attr('id');
});
如果($(检查).is(':checked')){
开关(id){
案例“c1”:
console.log(id);
打破
案例“c2”:
console.log(id);
打破
案例“c3”:
console.log(id);
打破
案例‘c4’:
console.log(id);
打破
案例“c1c2”:
console.log(id);
打破
案例“c1c3”:
console.log(id);
打破
案例“c1c4”:
console.log(id);
打破
案例“c2c3”:
console.log(id);
打破
案例“c2c4”:
console.log(id);
打破
案例“c3c4”:
console.log(id);
打破
案例“c1c2c3”:
console.log(id);
打破
//你错过了这个
案例“c1c3c4”:
console.log(id);
打破
案例“c1c2c4”:
console.log(id);
打破
案例“c2c3c4”:
console.log(id);
打破
案例“c1c2c3c4”:
console.log(id);
打破
}
}否则{
警报(“未检查”);
}
});

复选框1

复选框2
复选框3
复选框4

点击我!
不确定你想在这里做什么,尽管你的测试列表中缺少了
案例“c1c3c4”
。这是一个更新的工作版本:我投票决定以简单的打字错误结束这篇文章。它对其他用户也没有任何价值,不是真正的代码问题。如果这不是一个打字错误,那么什么是?…对任何人都没有价值电子手术