Elepsis Eclipse
Гений
(64081)
4 года назад
Опять за старое...
$(document).ready(function(){
$("#btn").on('click', function(){
var q = $('.question').length;
var k = 0;
k += $('input[name^="atom"]:eq(2):checked').length || 0;
k += $('input[name^="bit"]:eq(1):checked').length || 0;
k += $('input[name^="print"]:eq(0):checked').length || 0;
$('#show').html( "Верных ответов: " + k +
".<br>Результат: " + Math.round(k/q*100) + "%" );
});
});
_______________
k += $('input[name^="atom"]:eq(2):checked').length || 0;
В этом моменте если именно 3-й инпут с именем atom будет checked, его length = 1
— :eq(2)....
Иначе - будет ошибка и вместо этого значения возьмется 0.
P.s. а вообще, $(window).on('load', function(){ ...});
Elepsis EclipseГений (64081)
4 года назад
P.s. был же предложен более универсальный вариант) Так придется для каждого вопроса лезть редактировать JS.
var atom = document.getElementsByName('atom');
var bit = document.getElementsByName('bit');
var print = document.getElementsByName('print');
var btn = document.getElementById("btn");
var show = document.getElementById("show");
btn.onclick = function() {
var q = document.getElementsByClassName("question").length; //кол-во вопросов
var k = 0;
if (atom[2].checked) k++;
if (bit[1].checked) k++;
if (print[0].checked) k++;
show.innerHTML = "Верных ответов: " + k + "
Результат: " + Math.round(k/q*100) + "%";
}
}