Показать сообщение отдельно
  #11 (permalink)  
Старый 25.09.2020, 20:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Alena_03
с моим вариантом уже ничего не сделать значит?
Можно, ну это как заставить рожать самцов, когда природой это определено самкам.

Пусть элементы ответа на вопрос содержаться в элементе fieldset, который и содержит в атрибуте data-check значение равное сумме всех полей с верным ответом. Если поля, это радио кнопки, значит это будет 1, если флажки, то от 1 до ... Поля с верным выбором, это value=1, с неверным, это value=0.

Проверить, это обход коллекции fieldset (или только у текущей fieldset, если проверка инициализируется для конкретного вопроса), у которого берутся ее поля, и суммируются их значения, с последующей проверкой значения data-check fieldset. Ответом может может быть - неверно или N правильных ответов (сумма полей) из M (значение data-check).

То есть, это одна и та же операция для всех вопросов не зависимо от типа полей. Получить сумму полей, это обойти их циклом или в современных браузерах с поддержкой "вся", это [...fields].reduce().

Ведь это намного проще, чем то, чем вы маетесь, причем, лично для меня, не понятно с какой целью. Ведь если по уму и проверять сервером знания, то достаточно изменить значения полей на 1....N и все, а все ваше придется перелопачивать, удаляя/добавляя.
Ответить с цитированием