Задать вопрос
@N7EIght

Как написать функцию выделения правильного ответа?

У меня есть такой код:
if ($('.trueOneQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {
    valueBlockTest.push('<label class="testTitle">' + $('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + ' trueCheck">' + $('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $('.checkFourQuest' + i).val() + '</li></ul>');
} else if ($('.trueTwoQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {
    valueBlockTest.push('<label class="testTitle">' + $('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + ' trueCheck">' + $('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $('.checkFourQuest' + i).val() + '</li></ul>');
} else if ($('.trueThreeQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {
    valueBlockTest.push('<label class="testTitle">' + $('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + ' trueCheck">' + $('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $('.checkFourQuest' + i).val() + '</li></ul>');
} else if ($('.trueFourQuest' + i).attr('src') == '../assets/img/checkbox_active.jpg') {
    valueBlockTest.push('<label class="testTitle">' + $('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + ' trueCheck">' + $('.checkFourQuest' + i).val() + '</li></ul>');
} else {
    valueBlockTest.push('<label class="testTitle">' + $('.checkAnswer' + i).val() + '</label><br><ul class="ul w-25 check"><li class="checkOneLi' + i + '">' + $('.checkOneQuest' + i).val() + '</li><li class="checkTwoLi' + i + '">' + $('.checkTwoQuest' + i).val() + '</li><li class="checkThreeLi' + i + '">' + $('.checkThreeQuest' + i).val() + '</li><li class="checkFourLi' + i + '">' + $('.checkFourQuest' + i).val() + '</li></ul>');
}


С помощью него можно выделить ответ как правильный, но получится выделить только 1. Как можно этот код изменить так, чтобы можно было выделять до 3 ответов из 4. Элементы создаются с помощью js.

И кому не сложно, можете проанализировать код и указать на ошибки?
  • Вопрос задан
  • 210 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@dimuska139
Backend developer
Первое, что приходит на ум - это else if заменить на просто if. Чтобы при обработке одного условия проверялись и остальные. Ну и переменную count добавь, которая перед всеми проверками равна нулю. Если попало в if, то увеличивай его на 1. А в каждом if еще добавь условие && count <= 3. Но вообще этот представленный код не выглядит качественным сам по себе, мягко говоря.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы