这是我用来显示问题的代码,用户需要选择一个或多个复选框作为答案:
$QA = '<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'"> '.$QA.'</label>';
这是一个典型的展示:
<li id="q8">
<div class="Question">Which ones are countries?</div>
<div class="Answer">
<label for="q6-A"><input type="checkbox" name="q6[]" id="q6-A" value="A"> Texas</label>
<label for="q6-B"><input type="checkbox" name="q6[]" id="q6-B" value="B"> Japan</label>
<label for="q6-C"><input type="checkbox" name="q6[]" id="q6-C" value="C"> Spain</label>
</div>
</li>
我想修改代码,以便除非用户选择至少一个复选框,否则表单不会提交。我尝试过的每个脚本都要求他们选择每个复选框,但我只想确保他们选择任意一个复选框来尝试回答问题。
有人建议使用以下脚本:
$('input[type=checkbox][name=gender]')[0].attr('required', 'required');;
所以我更换了#34; name=gender
&#34;使用&#34; name=q6[]
&#34;,但这不起作用。我在q6之后猜测括号可能是个问题,但是如果我从驱动表单的代码中删除括号 - name="q'.$QID.'[]"
- 那么测试在结果页面上得分不正确。
另一个问题是,当各种测试中类似的多选复选框问题可以有不同的名称时,此脚本需要特定的名称。
是否有某种方法可以修改此脚本,以便针对包含复选框的所有问题,要求用户至少选择一个复选框?
答案 0 :(得分:1)
试试这个......
if(($('input[name="q6[]"]:checked') != undefined) && ($('input[name="q6[]"]:checked') != null)) {
console.log("true");
} else {
console.log("false");
}