jQuery评估复选框是否被选中并包含true类

这个问题在这里已经有了答案:

  • 如何检查复选框是否在jQuery中被选中? 56个答案

  • $('.multiplesubmit').click(function () {
      var correctAnswers = $(this).next('ul').children('li').filter(function () {
        return $(this).hasClass('True') && $(this).find('input[type="checkbox"]:checked').length>0;
      });
      if(correctAnswers.length>0) {
        alert('found')
      }
    });
    

    的jsfiddle

    更新

    根据评论

    $('.multiplesubmit').click(function () {
      var correctAnswers = $(this).next('ul').children('li').filter(function () {
        return $(this).hasClass('True') && $(this).find('input[type="checkbox"]:checked').length>0;
      });
      var wrongAnswers = $(this).next('ul').children('li').filter(function () {
        return $(this).hasClass('False') && $(this).find('input[type="checkbox"]:checked').length>0;
      });
      if (correctAnswers.length>0 && wrongAnswers.length<1) {
        alert('found')
      }
    });
    

    的jsfiddle


    尝试这个:

    我将文字的颜色改为红色,表示所有不正确,绿色表示正确,但我留下了评论,因此您可以根据自己的喜好做出不正确和正确的答案

    $('.multiplesubmit').click(function() {
        $.each('input:checkbox[name=checkme]', function(){
        if( $(this).is(':checked'){
            if( $(this).hasClass('True'){       
               // CHECKED - CORRECT
               $(this).parent().css({ 'color' : 'green' });
             }
             else{
               // CHECKED - INCORRECT
               $(this).parent().css({ 'color' : 'red' });
             }
        }
        else{
          if( $(this).hasClass('True'){       
            // UN-CHECKED - INCORRECT
            $(this).parent().css({ 'color' : 'red' });
          }
            else{
           // UNCHECKED - CORRECT
            $(this).parent().css({ 'color' : 'green' });
          }
    
        });
    });
    

    这将单独检查每个复选框,因为您可以有多个被选中并具有True类的复选框。

    $(document).ready(function() {
      $('.multiplesubmit').click(function() {
        multipleChoiceCheck();
      });
    });
    
    function multipleChoiceCheck() {
      $(".multiplechoice_answergroup").find("input[type=checkbox]").each(function() {
        var $this = $(this);
        if($this.prop("checked") && $this.parent().hasClass("True")) {
          alert($this.val());
        }
      });
    }
    

    我将值添加到您的复选框以区分答案:

    <button class="multiplesubmit">Check Answer</button>
    <ul class="multiplechoice_answergroup">
        <li class="multiplechoice_answer True"><input class="checkbox" type="checkbox" name="checkbox" value="Answer 1"> Answer 1</li>
        <li class="multiplechoice_answer False"><input class="checkbox" type="checkbox" name="checkbox" value="Answer 2"> Answer 2</li>
        <li class="multiplechoice_answer False"><input class="checkbox" type="checkbox" name="checkbox" value="Answer 3"> Answer 3</li>
        <li class="multiplechoice_answer True"><input class="checkbox" type="checkbox" name="checkbox" value="Answer 4"> Answer 4</li>
    </ul>
    

    JS小提琴示例

    链接地址: http://www.djcxy.com/p/9529.html

    上一篇: jQuery evaluate if checkbox is checked and contains the class true

    下一篇: Jquery check if select box is selected