diff options
Diffstat (limited to 'theme/javascript/core/quiz.js')
-rw-r--r-- | theme/javascript/core/quiz.js | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/theme/javascript/core/quiz.js b/theme/javascript/core/quiz.js index bc1a16d..d34af48 100644 --- a/theme/javascript/core/quiz.js +++ b/theme/javascript/core/quiz.js @@ -1,9 +1,9 @@ define([ "jQuery", "utils/execute", - "utils/analytic", + "core/events", "core/state" -], function($, execute, analytic, state){ +], function($, execute, events, state){ // Bind an exercise var prepareQuiz = function($quiz) { @@ -14,14 +14,17 @@ define([ // Submit: test code $quiz.find(".action-submit").click(function(e) { e.preventDefault(); - analytic.track("exercise.submit", {type: "quiz"}); + events.trigger("exercise.submit", {type: "quiz"}); $quiz.find("tr.alert-danger,li.alert-danger").removeClass("alert-danger"); $quiz.find(".alert-success,.alert-danger").addClass("hidden"); $quiz.find(".question").each(function(q) { var result = true; - var $answers = $quiz.find(".question-answers").slice(q).find("input[type=radio], input[type=checkbox]"); - $(this).find("input[type=radio],input[type=checkbox]").each(function(i) { + + var $questions = $(this).find(".question-content").find("input[type=radio], input[type=checkbox]"); + var $answers = $(this).find(".question-answers").find("input[type=radio], input[type=checkbox]"); + + $questions.each(function(i) { var correct = $(this).is(":checked") === $answers.slice(i).first().is(":checked"); result = result && correct; if (!correct) { |