[英]How do I check at least one checkbox is checked
我正在使用PHP和HTML制作调查表。 我已经为每个问题制作了一个带有复选框的页面。 现在,我要检查每个问题是否至少选中了一个复选框(可以是多个复选框)。
我尝试为每个复选框添加“必需”属性,但随后它要求用户在提交前检查每个问题的所有复选框。 我该怎么办? 以下是我的代码:
<?php
$number = 0;
foreach($questions as $question){
$number = $number + 1;
foreach($choices as $choice){
?>
<input type="checkbox" name="<?php echo 'q'.$number.'checkbox_ans[]'; ?>" value="<?php echo $choice->id; required ?>"><?php echo $choice->getTitle(); ?>
<?php
}
}
?>
在提交之前,它应该能够检测每个问题是否至少选中了一个复选框。
使用.each()
.find()
和.length
。
首先,在所有包含复选框的问题中放一个通用的类,然后可以循环问题并为每个问题选择复选框:
$('.question-container').each(function(index, element){
// Then inside each container we search for the checkboxes
var checked = $(element).find('input[type=checkbox]:checked');
// Now we have the inputs that are checked, and we check how many
if(checked.length){
// Yes at least one checkbox is checked
} else {
// No, there are no checkbox checked for this question
}
})
尝试此希望对您is(':checked')
帮助。请使用is(':checked')
查找复选框是否已选中
$('.check').click(function(e){ var status=0 $('.item_check').each(function(e){ if($(this).is(':checked')) status=1 }) if(!status) console.log('no items checked') })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="checkbox" class="item_check">1 <input type="checkbox" class="item_check">2 <input type="checkbox" class="item_check">3 <input type="checkbox" class="item_check">4 <button class="check">Check</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.