jquery - 复选框错误的项目选择了html
问题描述
我有一个带有多个选项的 html 复选框。
我正在使用 JQuery 更改与用户选择的内容交互的“显示答案”部分。
<script type="text/javascript">
$(function() {
$('input[type="checkbox"].Q1').click(function() {
checkQ1();
});
function checkQ1() {
var MCQ10_checked = $('input[value="AQN10"]').prop('checked');
var MCQ11_checked = $('input[value="AQN12"]').prop('checked');
if (MCQ10_checked && MCQ11_checked) {
$("#CA1").html("This is right");
return;
}
if (MCQ10_checked || MCQ11_checked) {
$("#CA1").html("This is a little right");
return;
}
$("#CA1").html("This is wrong");
}
});
</script>
目前,如果用户选择了一个不正确的选项以及两个正确的选项,它仍然说它是正确的。
我希望它默认为“它有点正确”选项,因为他们也选择了不正确的选项。
对此的任何建议将不胜感激
解决方案
计算所有选中的复选框。如果不是 2,那么他们一定选中了他们选中的正确框旁边的其他框。
$(function() {
$('input[type="checkbox"].Q1').click(function() {
checkQ1();
});
function checkQ1() {
var checked_count = $(":checkbox.Q1:checked").length;
var MCQ10_checked = $('input[value="AQN10"]').prop('checked');
var MCQ11_checked = $('input[value="AQN12"]').prop('checked');
if (MCQ10_checked && MCQ11_checked && checked_count == 2) {
$("#CA1").html("This is right");
return;
}
if (MCQ10_checked || MCQ11_checked) {
$("#CA1").html("This is a little right");
return;
}
$("#CA1").html("This is wrong");
}
});
推荐阅读
- javascript - 在 LocalStorage react js 上保存身份验证数据
- java - 如何运行作为地图上的值的 lambda 表达式
- xml - 用数据库变量分配 JMS 变量的问题
- objective-c - Coregraphics Private API 使用导致应用被拒绝?
- javascript - 在浏览器上比较时如何检查“↵”(新行)?
- azure - 阻止 RBAC 继承
- postgresql - 为什么不能更新设置更改数据类型 Postgres
- python - 有没有一种方法可以使用 Spotipy 从播放列表中检索所有曲目?
- python - 如何在python的文本文件中编写稀疏矩阵?
- c# - 转换字符串分词器