layui多个不确定名称复选框判断是否全部选中
JS数组迭代方法:
  every() => 给定函数遍历数组,如果每一项都返回true则为true
  some() => 给定函数遍历数组,只要有一项返回true则返回true
<form class="question-form layui-form"> <div class="form-box"><!-- checks="question2"复选必填 value值为复选名称 --> <div class="form-con"> <p class="form-con-tit"><span class="require-span">*</span> <span class="tit-txt">2.关于十一长假活动安排问卷调查问题2关于十一长假活动安排问卷调查问题2关于十一长假活动安排问卷调查问题2关于十一长假活动安排问卷调查问题2 <span class="tips-span">【最少选择1项】</span></span></p> <div class="layui-form-item"> <div class="question-input"><input title="写作" type="checkbox" name="question_0" /></div> <div class="question-input"><input title="阅读" type="checkbox" name="question2_1" /></div> <div class="question-input"><input title="游戏" type="checkbox" name="question2_2" /></div> </div> </div> <div class="form-con"> <p class="form-con-tit"><span class="require-span">*</span> <span class="tit-txt">4.关于十一长假活动安排问卷调查问题4关于十一长假活动安排问卷调查问题4关于十一长假活动安排问卷调查问题4关于十一长假活动安排问卷调查问题4 <span class="tips-span">【最少选择1项】</span></span></p> <div class="layui-form-item"> <div class="question-input"><input title="写作" type="checkbox" name="question4_0" /></div> <div class="question-input"><input title="阅读" type="checkbox" name="question4_1" /></div> <div class="question-input"><input title="游戏" type="checkbox" name="question4_2" /></div> </div> </div> <div class="form-con"> <p class="form-con-tit"><span class="require-span">*</span> <span class="tit-txt">3.关于十一长假活动安排问卷调查问题3关于十一长假活动安排问卷调查问题3关于十一长假活动安排问卷调查问题3</span></p> <div class="layui-form-item"> </div> </div> </div> <a class="layui-btn" href="javascript:;">提交</a></form> <script type="text/javascript"> layui.use(['form', 'layer'], function() {
var form = layui.form, layer = layui.layer; form.on('submit(question)', function(data){ if(checkChecks(JSON.stringify(data.field))) { // 复选已选择 layer.msg('复选已选择') } else { // 有复选未选 layer.msg('有复选未选') } // layer.msg(JSON.stringify(data.field)); return false; }); }) function checkChecks(field) { field = JSON.parse(field); var checksLen = $('[checks]').length, funcReturn = true; if(checksLen) { $('[checks]').each(function(i) { let checksName = $(this).attr('checks'); let checksKid = $(this).find('[type=checkbox]').length; let checksArr = []; for(let j = 0; j < checksKid; j ++) { if(field[checksName + '_' + j]){ checksArr.push(field[checksName + '_' + j]); } } if(!checksArr.length) { funcReturn = false } }) } else { funcReturn = true } return funcReturn } </script>
                    
                
                
            
        
浙公网安备 33010602011771号