Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框jquery-多个条件_Javascript_Jquery_Html - Fatal编程技术网

Javascript 复选框jquery-多个条件

Javascript 复选框jquery-多个条件,javascript,jquery,html,Javascript,Jquery,Html,我在使用JQuery更改一些HTML时遇到了问题 我有一个带有以下标记的标准html复选框 <input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN10" id="3mcq"> <input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN11" id="3mcq"> <input type="checkbox" name="

我在使用JQuery更改一些HTML时遇到了问题

我有一个带有以下标记的标准html复选框

<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN10" id="3mcq">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN11" id="3mcq">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN12" id="3mcq"> 

下面是复选框函数仅满足一个条件的示例。(AQN10)

我想尝试获取它,以便使用逻辑运算符&&或'or' 这样,如果用户选择了一个正确的答案,他们将得到一个“某种程度的正确答案”。”答案,当他们选择所有正确答案时,他们会得到完整的正确答案


谢谢

如果有多个具有相同id的复选框,请尝试按如下方式重命名它们:

<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN10" id="3mcq">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN11" id="3mcq1">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN12" id="3mcq2">

首先,元素的
id
属性应该是唯一的,这不会影响功能(在本例中),但这是一种良好的做法

然后我将查看您的元素命名,因为复选框是分开的,所以我将删除
value
属性,并将其替换为
name
。这使您可以更清楚地选择哪个复选框

我已经附上了一个考虑到这些要点的片段,并希望提供一个更流畅、易于理解的工作流程

$(函数(){
/*具有type=checkbox和class=Q1的输入*/
$('input[type=“checkbox”].Q1')。单击(函数(){
检查Q1();
});
函数checkQ1(){
/*存储每个Q1复选框的选中状态*/
var cb0_checked=$('input[name=“AQN10”]”)。prop('checked'),
cb1_checked=$('input[name=“AQN11”]”)。prop('checked'),
cb2_checked=$('input[name=“AQN12”]”)。prop('checked');
/*检查是否已检查cb0和cb2*/
如果(cb0\U已选中和cb2\U已选中){
$('#CA1').html('这是正确的');
返回;
}
/*注意:即使选中了所有3个选项,也会返回“this is right”(这是正确的)-另一个选项是:
*如果(cb0_已选中&&cb2_已选中&&cb1_已选中){
*/
/*检查是否检查了cb0或cb2*/
如果(cb0|u选中| cb2|u选中){
$('#CA1').html('这几乎是正确的');
返回;
}
/*两者都没有被检查*/
$('#CA1').html('这是错误的');
}
});





感谢您将其置于上下文中。我将改用此方法!。感谢您的评论,这很有意义。现在您已经写出来了,我稍后将回顾我的工作。我已经将另一个答案放在了上下文中,并帮助我更清楚地理解了如何处理if-else。尽管如此,我还是要感谢您霍夫
$(function () {
            $("input[name=AQN1]:checkbox").click(function () {

                    if ($('input[value= AQN10]:checked').val()) {

                        document.getElementById("CA2").innerHTML = "this is right";
                    } 

                    else {
                        document.getElementById("CA2").innerHTML = "this is wrong";
                    }
            });
        });

<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN10" id="3mcq">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN11" id="3mcq1">
<input type="checkbox" name="AQN1" class="checkbox Q1" value="AQN12" id="3mcq2">
$('input[value=AQN12]:checked').val())) 

            $("input[name=AQN1]:checkbox").click(function () {

                    if ( $('#3mcq1:checked').val() && $('#3mcq2:checked:checked').val() ) {
                            document.getElementById("CA1").innerHTML = "this is right";
                    } 

                    else {
                        document.getElementById("CA1").innerHTML = "this is wrong";
                    }
            });