Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

SOLVED: JS Quiz. I need help about string in js code

nil haty:

I need help. In this code there is a problem.I think it is because of string. When i run code if i choose correct answer for first question it doesnt count.


(function() {
var questions = [{
question: " What does SQL stand for?",
choices: ["Strong Question Language", "Strong Question Language", "Strong Question Language", "Structured Query Language", "Strong Question Language"],
correctAnswer: 4
}, {
question: "What is 6*6?",
choices: [3, 6, 9, 36, 18],
correctAnswer: 4
}];

var questionCounter = 0; //Tracks question number
var selections = []; //Array containing user choices
var quiz = $('#quiz'); //Quiz div object

// Display initial question
displayNext();

// Click handler for the 'next' button
$('#next').on('click', function (e) {
e.preventDefault();

// Suspend click listener during fade animation
if(quiz.is(':animated')) {
return false;
}
choose();

// If no user selection, progress is stopped
if (isNaN(selections[questionCounter])) {
alert('Please make a selection!');
} else {
questionCounter++;
displayNext();
}
});

// Click handler for the 'prev' button
$('#prev').on('click', function (e) {
e.preventDefault();

if(quiz.is(':animated')) {
return false;
}
choose();
questionCounter--;
displayNext();
});

// Click handler for the 'Start Over' button
$('#start').on('click', function (e) {
e.preventDefault();

if(quiz.is(':animated')) {
return false;
}
questionCounter = 0;
selections = [];
displayNext();
$('#start').hide();
});

// Animates buttons on hover
$('.button').on('mouseenter', function () {
$(this).addClass('active');
});
$('.button').on('mouseleave', function () {
$(this).removeClass('active');
});

// Creates and returns the div that contains the questions and
// the answer selections
function createQuestionElement(index) {
var qElement = $('
', {
id: 'question'
});

var header = $('

Question ' + (index + 1) + ':

');
qElement.append(header);

var question = $('

').append(questions[index].question);
qElement.append(question);

var radioButtons = createRadios(index);
qElement.append(radioButtons);

return qElement;
}

// Creates a list of the answer choices as radio inputs
function createRadios(index) {
var radioList = $('

    ');
    var item;
    var input = '';
    for (var i = 0; i item = $('
  • ');
    input = '';
    input += questions[index].choices[i];
    item.append(input);
    radioList.append(item);
    }
    return radioList;
    }

    // Reads the user selection and pushes the value to an array
    function choose() {
    selections[questionCounter] = +$('input[name="answer"]:checked').val();
    }

    // Displays next requested element
    function displayNext() {
    quiz.fadeOut(function() {
    $('#question').remove();

    if(questionCounter var nextQuestion = createQuestionElement(questionCounter);
    quiz.append(nextQuestion).fadeIn();
    if (!(isNaN(selections[questionCounter]))) {
    $('input[value='+selections[questionCounter]+']').prop('checked', true);
    }

    // Controls display of 'prev' button
    if(questionCounter === 1){
    $('#prev').show();
    } else if(questionCounter === 0){

    $('#prev').hide();
    $('#next').show();
    }
    }else {
    var scoreElem = displayScore();
    quiz.append(scoreElem).fadeIn();
    $('#next').hide();
    $('#prev').hide();
    $('#start').show();
    }
    });
    }

    // Computes score and returns a paragraph element to be displayed
    function displayScore() {
    var score = $('

    ',{id: 'question'});

    var numCorrect = 0;
    for (var i = 0; i if (selections[i] === questions[i].correctAnswer) {
    numCorrect++;
    }
    }

    score.append('You got ' + numCorrect + ' questions out of ' +
    questions.length + ' right!!!');
    return score;
    }
    })();



    Posted in S.E.F
    via StackOverflow & StackExchange Atomic Web Robots
    This Question have been answered
    HERE



This post first appeared on Stack Solved, please read the originial post: here

Share the post

SOLVED: JS Quiz. I need help about string in js code

×

Subscribe to Stack Solved

Get updates delivered right to your inbox!

Thank you for your subscription

×