簡體   English   中英

如何檢查至少一個復選框

[英]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
   }
})

檢查是否已使用jQuery選中復選框

嘗試此希望對您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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM