如果在可能的复选框列表中只选中了一个特定复选框,则返回Javascript
我有一个复选框列表,需要选中一个或两个特定的复选框才能返回true,但是如果只选中了所需的复选框而没有其他复选框,我不确定如何查找 复选框的HTML如下所示:如果在可能的复选框列表中只选中了一个特定复选框,则返回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>
<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);
});