在一个复选框(动态显示)中显示“required”

在一个复选框(动态显示)中显示“required”

问题描述:

我创建了一个数据库驱动的测试,其中包含三种类型的问题 - 输入类型=收音机,文本和复选框。如果我在结束标记之前插入所需的,它对收音机和文本问题工作正常,但不支持复选框。在一个复选框(动态显示)中显示“required”

问题是,每个复选框的问题有几个可能的答案 - 从三到六的任何地方。而那些正确答案的选择数量也各不相同。

但是,当我将“必需”添加到复选框脚本时,用户必须选择每个答案才能进入结果页面。这是代码的样子:

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

我找到HTML5 Required Attribute页面,它似乎解决了这个问题。如果我理解正确,可以通过在一个元素中插入“required”来解决问题。所以如果你将它插入到答案A中,用户可能会选择答案C和D,并且一切都会正常工作。

如果这是正确的,那么有没有办法在一个复选框中进行“必需”显示,而不是所有这些?

+0

你为什么不使用只在使用PHP编写的条件一组则第一个复选框“需要”? – SachinSunny

+0

好的提示;任何人都可以告诉我该怎么做?例如,是否有写一个PHP开关的方法,它说1)只在输入类型=复选框的回答中插入“required”(其他输入类型中已经插入了“required”),并且2)插入“required “在每个组的第一个复选框中? –

使用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');;