Отображение «требуется» только в одном флажке (динамический дисплей)

Я создал тест с базой данных с тремя типами вопросов – input type = radio, text и checkbox. Если я вставляю его перед закрывающим тегом, он отлично работает для радио и текстовых вопросов, но не для флажков.

Проблема в том, что каждый вопрос по флажку имеет несколько возможных ответов – от трех до шести. И число этих вариантов, которые являются правильными ответами, также меняется.

Но когда я добавляю «обязательный» к скрипту checkbox, пользователь должен выбрать КАЖДЫЙ ответ, чтобы перейти к странице результатов. Вот как выглядит код:

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

Я нашел страницу HTML5 Required Attribute , которая, как представляется, устраняет эту проблему. Если я правильно понимаю, вы можете исправить проблему, вставив «требуется» только в одном элементе. Поэтому, если вы вставляете его в ответ A, пользователь может предположительно выбирать ответы C и D, и все будет работать нормально.

Если это правильно, то есть ли способ сделать «требуемый» показ только в одном флажке, а не во всех из них?

Solutions Collecting From Web of "Отображение «требуется» только в одном флажке (динамический дисплей)"

Использование 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');;