Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как изменить код с использованием jquery?

Lenar Гуру (3258), закрыт 4 года назад
window.onload = function() {
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) + "%";
}
}
Дополнен 4 года назад
$(document).ready(function() {
var atom = document.getElementsByName('atom');
var bit = document.getElementsByName('bit');
var print = document.getElementsByName('print');
var planeta = document.getElementsByName('planeta');

$("#btn").click(function() {
var question = $(".question").length;
var k = 0;
if (atom[2].checked) k++;
if (bit[1].checked) k++;
if (print[0].checked) k++;
if (planeta[0].checked) k++;
$("#show").html("Верных ответов: " + k + "
Результат: " + Math.round(k/question*100) + "%");
})
})
Лучший ответ
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.
Lenar Гуру (3258) Спасибо, я в целях изучения просто)
Остальные ответы
Илья Ш Просветленный (20237) 4 года назад
а зачем?
LenarГуру (3258) 4 года назад
учу jquery, как можно изменить document.getElementsByName?
Похожие вопросы