summaryrefslogtreecommitdiffstats
path: root/theme/javascript/core/quiz.js
diff options
context:
space:
mode:
Diffstat (limited to 'theme/javascript/core/quiz.js')
-rw-r--r--theme/javascript/core/quiz.js13
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) {