[英]Issue in checking whether checkbox is checked
我在jQuery中编写了以下功能
<script>
function validateAppliesTo()
{
if ($("#collapseCat_row input:checkbox:checked").length > 0)
{
return true;
} else
{
swal({
title: "",
text: "Please select any course for which the fee should apply! "
});
return false;
}
if ($("#accordion_cat input:checkbox:checked").length > 0)
{
return true;
} else
{
swal({
title: "",
text: "Please select any category! "
});
return false;
}
return true;
}
</script>
上面的代码适用于#course_condition_row,但不适用于#accordion_cat。
在html中
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion_cat" href="#collapseCat">Category</a>
</h5>
</div>
<div id="collapseCat" class="panel-collapse collapse in">
<div class="panel-body">
<input name="student_category[]" class="cls_categories" id="General" value="3" type="checkbox"> General<br>
<input name="student_category[]" class="cls_categories" id="Reserved" value="4" type="checkbox"> Reserved<br>
</div>
</div>
</div>
我想验证表格。 如果未在Accordian类别中选中任何复选框,则它应返回false。
请帮我!!!
一旦validateAppliesTo()函数到达return
,该函数的其余部分将不被执行。 因此,将仅处理第一个if / else,而不会处理第二个。
在下面的代码中,我删除了return
并更改了if()
语句。
去除退货
删除return
会确保所有代码都运行。
修改if()语句
如果未选中任何复选框,则.length
将返回0,在if()
语句中该值等于true
。 通过添加!
在声明之前,它将扭转这一结果。 简而言之:如果未找到复选框,请输入此if()
语句。
我还将#accordion_cat
更改为#collapseCat
以便JS匹配提供的HTML。
结果
结果是,如果未选中任何复选框,则swal()
代码现在将被调用两次。 我不知道该函数应该做什么,但是要知道它被调用了两次,并且第二次可能会覆盖第一次调用时的结果。
$(function() { $( "#validate" ).click(function() { validateAppliesTo() }); function validateAppliesTo() { if (!$("#collapseCat_row input:checkbox:checked").length) { swal({ title: "", text: "Please select any course for which the fee should apply! " }); } if (!$("#collapseCat input:checkbox:checked").length) { swal({ title: "", text: "Please select any category! " }); } } function swal(obj){ console.debug('do swal with', obj); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="panel panel-default"> <div class="panel-heading"> <h5 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion_cat" href="#collapseCat">Category</a> </h5> </div> <div id="collapseCat" class="panel-collapse collapse in"> <div class="panel-body"> <input name="student_category[]" class="cls_categories" id="General" value="3" type="checkbox"> General<br> <input name="student_category[]" class="cls_categories" id="Reserved" value="4" type="checkbox"> Reserved<br> </div> </div> </div> <button id="validate">Validate</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.