显示"必需"只需一个复选框(动态显示)

时间:2016-03-05 02:50:11

标签: php jquery html5 checkbox

我创建了一个数据库驱动的测试,有三种类型的问题 - 输入类型=广播,文本和复选框。如果我在结束标记之前插入必需,它适用于广播和文字问题,但不适用于复选框。

问题是每个复选框问题都有几个可能的答案 - 从三到六个不等。这些正确答案的选择数量也各不相同。

但是当我添加" required"对于复选框脚本,用户必须选择每个答案才能进入结果页面。这就是代码的样子:

<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" **required**> '.$QA.'</label>

我找到了HTML5 Required Attribute页面,它似乎解决了这个问题。如果我理解正确,您可以通过插入&#34; required&#34;来解决问题。只有一个元素。因此,如果您将其插入答案A中,用户可能会选择答案C和D,一切都会正常工作。

如果这是正确的,那么有没有办法让#34;必要&#34;只显示一个复选框,而不是全部显示?

1 个答案:

答案 0 :(得分:1)

使用required条件作为组的第一个复选框。我假设你的html代码是用.php文件编写的。

$required = ($Value == 0) ? "required" : ""; //condition to check if the value is first. since it is database driven it would be better to check the key instead of the value.;
   echo '<label for="q'.$QID.'-'.$Value.'"><input type="checkbox" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" '. $required .'> '.$QA.'</label>';

另一个解决方案是使用Jquery添加必需的属性。例如,如果性别是复选框组的名称,则:

$('input[type=checkbox][name=gender]')[0].attr('required', 'required');;