Checkbox:jQuery所需的功能

时间:2016-03-06 03:46:27

标签: javascript jquery checkbox

这是我用来显示问题的代码,用户需要选择一个或多个复选框作为答案:

$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.'[]" - 那么测试在结果页面上得分不正确。

另一个问题是,当各种测试中类似的多选复选框问题可以有不同的名称时,此脚本需要特定的名称。

是否有某种方法可以修改此脚本,以便针对包含复选框的所有问题,要求用户至少选择一个复选框?

1 个答案:

答案 0 :(得分:1)

试试这个......

if(($('input[name="q6[]"]:checked') != undefined) && ($('input[name="q6[]"]:checked') != null)) {
console.log("true");
} else {
console.log("false");
}