如何使用jQuery验证多个问题中的至少一个复选框?

时间:2019-07-19 08:37:52

标签: javascript php jquery html yii2

我用yii2,html和php制作了一个网页。现在,我创建了一个调查表。每个问题包含多个复选框。现在,我想在提交之前检查每个问题是否至少选中一个复选框。那我该怎么办呢?

我尝试使用jquery验证插件,我认为我的commit()函数或复选框的ID出了问题。有人可以帮忙吗?

以下是我的代码:

'''     

$number = 0;
foreach($questions as $question){
   $count = $count + 1;         
   foreach($choices as $choice){
?>

  <input id="testBox" type="checkbox" name="<?php echo 'q'.$count.'checkbox_ans[]'; ?>" value="<?php echo $choice->id; ?>"><?php echo $choice->getTitle(); ?>

<?php    
    }
}
?>

<?php
    $this->registerJs('

        var formHasChanged = false;
        var submitted = false;

        $(document).on("change", "form input", function (e) {
            formHasChanged = true;
        });

        $("form").submit(function(event) {
                    $("#testForm").validate();
                    var is_valid = $("#testForm").valid();
       var atLeastOneIsChecked = $("#testBox:checkbox:checked").length > 0;


            if(is_valid && atLeastOneIsChecked){
                submitted = true;
            }

            else{

                event.preventDefault();
                alert("please answer all questions.");
            }

        });

    ',
    View::POS_END);
 ?>

'''

0 个答案:

没有答案