首页 > 解决方案 > 仅当条件适用时才选中和取消选中复选框

问题描述

这是我的代码。我试图在选中和取消选中复选框时发出警报。

 <html>
 <script src="jquery.min.js"></script>    
 <script>
   $(document).ready(function(){
       $('.checks').change(function(){
          var qn=$(this).attr('id');
          if($('#qn').prop('checked',true))
          {         
             alert('question '+qn+' checked');
          }
          else
          {
             alert('question '+qn+' Unchecked');
          }
    
       });
     });
   </script>
   </html>
    <?php
       for($i=1;$i<=5;$i++)
       {
          echo"<input type='checkbox' id='$i' class='checks' />Question-$i<br>";
       }
       ?>

但是,当我仅在条件适用时才选中或取消选中。我在哪里做错了

标签: jquery

解决方案


您可以使用is(":checked")检查复选框是否选中。此外,没有这样的 id 即:$('#qn')存在它应该是$('#'+qn)..

演示代码

$(document).ready(function() {
  $('.checks').change(function() {
    var qn = $(this).attr('id');
    //check if is checked
    if ($('#' + qn).is(":checked")) {
      alert('question ' + qn + ' checked');
    } else {
      alert('question ' + qn + ' Unchecked');
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='checkbox' id='1' class='checks' />Question-1<br>
<input type='checkbox' id='2' class='checks' />Question-2<br>
<input type='checkbox' id='3' class='checks' />Question-3<br>
<input type='checkbox' id='4' class='checks' />Question-4<br>


推荐阅读