Показать сообщение отдельно
  #1 (permalink)  
Старый 28.12.2017, 19:24
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Проверка на checked внутри блока div
Добрый день. У меня есть некий тест, в котором варианты ответов каждого вопросов размещены внутри блока div. Некоторые вопросы подразумевают несколько правильных вариантов ответов, некоторые - один. В результате у меня часть вопросов реализована radio, часть - checkbox.
Подскажите, как правильно сделать проверку, чтобы в каждом из блоков был отмечен хотя бы один checkbox/radio?
Вот кусок верстки:
<div class="question_list">
	<div id="qwestion_23" class="question_item">
	<b>Какая длина установлена для перчаток диэлектрических?</b>
		<div id="5">
			<div><input id="answer_23_12" value="12" name="qw_23[]" type="checkbox">&nbsp;<label for="answer_23_12"><span></span>Вариант ответа 1</label></div>
			<div><input id="answer_23_13" value="13" name="qw_23[]" type="checkbox">&nbsp;<label for="answer_23_13"><span></span>Вариант ответа 2</label></div>
			<div><input id="answer_23_14" value="14" name="qw_23[]" type="checkbox">&nbsp;<label for="answer_23_14"><span></span>Вариант ответа 3</label></div>
			<div><input id="answer_23_15" value="15" name="qw_23[]" type="checkbox">&nbsp;<label for="answer_23_15"><span></span>Вариант ответа 4</label></div>
			<div><input id="answer_23_16" value="16" name="qw_23[]" type="checkbox">&nbsp;<label for="answer_23_16"><span></span>Вариант ответа 5</label></div>
		</div>
	</div>
	<div id="qwestion_24" class="question_item">
	<b>Какие общие требования предъявляются к распределительным устройствам, щитам и сборкам, установленным</b>
		<div id="5">
			<div><input id="answer_24_17" value="17" name="qw_24" type="radio">&nbsp;<label for="answer_24_17"><span></span>Вариант ответа 1</label></div>
			<div><input id="answer_24_18" value="18" name="qw_24" type="radio">&nbsp;<label for="answer_24_18"><span></span>Вариант ответа 2</label></div>
			<div><input id="answer_24_19" value="19" name="qw_24" type="radio">&nbsp;<label for="answer_24_19"><span></span>Вариант ответа 3</label></div>
			<div><input id="answer_24_20" value="20" name="qw_24" type="radio">&nbsp;<label for="answer_24_20"><span></span>Вариант ответа 4</label></div>
			<div><input id="answer_24_21" value="21" name="qw_24" type="radio">&nbsp;<label for="answer_24_21"><span></span>Вариант ответа 5</label></div>
		</div>
	</div>
	<div id="qwestion_25" class="question_item">
	<b>Какие обязанности по организации эксплуатации электроустановок возложены на ответственного за электр</b>
		<div id="5">
			<div><input id="answer_25_22" value="22" name="qw_25" type="radio">&nbsp;<label for="answer_25_22"><span></span>Вариант ответа 1</label></div>
			<div><input id="answer_25_23" value="23" name="qw_25" type="radio">&nbsp;<label for="answer_25_23"><span></span>Вариант ответа 2</label></div>
			<div><input id="answer_25_24" value="24" name="qw_25" type="radio">&nbsp;<label for="answer_25_24"><span></span>Вариант ответа 3</label></div>
			<div><input id="answer_25_25" value="25" name="qw_25" type="radio">&nbsp;<label for="answer_25_25"><span></span>Вариант ответа 4</label></div>
			<div><input id="answer_25_26" value="26" name="qw_25" type="radio">&nbsp;<label for="answer_25_26"><span></span>Вариант ответа 5</label></div>
		</div>
	</div>
</div>

А вот мои попытки сделать проверку - работает некорректно.
$('#testingForm').submit(function(){
        var errors = 0;
        $("div.question_item").each(function() {
          if ($(this).children("div").children("div").children("input:radio:checked").length == 0) {
          errors++;
          }
        });
        if (errors!=0) {
            alert("Вы ответили не на все вопросы!");
            return false;
        }
    });

Последний раз редактировалось Batyabest, 28.12.2017 в 19:35.
Ответить с цитированием