如果在可能的复选框列表中只选中了一个特定复选框,则返回Javascript

如果在可能的复选框列表中只选中了一个特定复选框,则返回Javascript,javascript,jquery,html,arrays,if-statement,Javascript,Jquery,Html,Arrays,If Statement,我有一个复选框列表,需要选中一个或两个特定的复选框才能返回true,但是如果只选中了所需的复选框而没有其他复选框,我不确定如何查找 复选框的HTML如下所示: <table style="width:135px; height:200px; margin: 0 auto; margin-top: -200px;"> <tr> <td><input type="checkbox" class="f1s1c"></td>

我有一个复选框列表,需要选中一个或两个特定的复选框才能返回true,但是如果只选中了所需的复选框而没有其他复选框,我不确定如何查找

复选框的HTML如下所示:

<table style="width:135px; height:200px; margin: 0 auto; margin-top: -200px;">
  <tr>
    <td><input type="checkbox" class="f1s1c"></td>
    <td><input type="checkbox" class="f1s2"></td>
    <td><input type="checkbox" class="f1s3"></td>
    <td><input type="checkbox" class="f1s4"></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="f2s1"></td>
    <td><input type="checkbox" class="f2s2"></td>
    <td><input type="checkbox" class="f2s3"></td>
    <td><input type="checkbox" class="f2s4"></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="f3s1"></td>
    <td><input type="checkbox" class="f3s2"></td>
    <td><input type="checkbox" class="f3s3"></td>
    <td><input type="checkbox" id="cCorrect1"></td>
  </tr>
  <tr>
    <td><input type="checkbox" class="f4s1"></td>
    <td><input type="checkbox" class="f4s2"></td>
    <td><input type="checkbox" class="f4s3"></td>
    <td><input type="checkbox" class="f4s4"></td>
  </tr>
</table>
使用一个数组检查复选框并找出何时选中了cCorrect1是否有效?我认为这可能是正确的,但我不知道该怎么做


非常感谢您的任何输入和帮助。

如果您有办法找到正确的复选框集(所有复选框上都有一个共享类等),您可以计算列表中的复选框数。如果它是
1
,并且您的目标框被选中,则表示您很好

在本例中,我在包含复选框的
表中添加了一个
id
,以便于查找。已删除样式,以便表格可见

$(“#检查C”)。单击(函数(){
//我们想要的那个
var cCorrect1=$(“#cCorrect1”);
//表中所有选中的复选框
变量检查=$(“#框输入[类型=复选框]:选中”);
var cCorrect=cCorrect1.prop('checked')&(checks.length==1);
警报(cCorrect?“correct”:“不正确”);
});


检查
您可以做的是创建一个正确答案数组,发现每行选择的答案,并确定它是“正确”还是“不正确”

您可以使用此代码返回复选框数组状态(0表示未选中,1表示已选中),并决定从此处执行的操作:

var $table = this.$('tbody');
        $(".resultBtn").click(function(){
            var outStr = '';
            for(var i= 0,len=$table.children().length;i<len;i++){
                var $tr = $table.children().eq(i);
                outStr += 'row' + (i+1) + ' checked boxes:[';
                for(var j= 0;j<$tr.children().length;j++){
                    var $td = $tr.children().eq(j);
                    if($td.find(':checked').length > 0 ){
                        $td.addClass('selected');
                        outStr += '1,';
                    } else{
                        outStr += '0,';
                    }
                    if(j==$tr.children().length-1) outStr = outStr.substring(0, outStr.length - 1);
                }
                outStr += ']';
            }
            alert(outStr);
        });
var$table=this.$('tbody');
$(“.resultBtn”)。单击(函数(){
var-outtr='';

对于(var i=0,len=$table.children().length;iPerfect示例,谢谢。对于我的下一个表,必须选中三个复选框,因此我只包含所有新的复选框变量,并将checks.length==更改为3。您提供了一种我认为可能的更简单的方法,并解决了问题。谢谢:)
var $table = this.$('tbody');
        $(".resultBtn").click(function(){
            var outStr = '';
            for(var i= 0,len=$table.children().length;i<len;i++){
                var $tr = $table.children().eq(i);
                outStr += 'row' + (i+1) + ' checked boxes:[';
                for(var j= 0;j<$tr.children().length;j++){
                    var $td = $tr.children().eq(j);
                    if($td.find(':checked').length > 0 ){
                        $td.addClass('selected');
                        outStr += '1,';
                    } else{
                        outStr += '0,';
                    }
                    if(j==$tr.children().length-1) outStr = outStr.substring(0, outStr.length - 1);
                }
                outStr += ']';
            }
            alert(outStr);
        });