checkQuestion: function (questionIndex) {
let question = this.quiz.questions[questionIndex];
- var a = [];
- var ok = true;
- var count = $(this).attr('data-count') == '1';
- var log = {
+ let a = [];
+ let ok = true;
+ let count = $(this).attr('data-count') == '1';
+ let log = {
'count': count,
};
- if (question.multiple) {
- // Le score minimal est le score que l'utilisateur doit atteindre sur une question pour que sa réponse soit considérée
- var min_score = parseInt(question.min_score);
- if (min_score === 0) {
- min_score = 0;
- $.each(question.answers, function (answerIndex, answer) {
- if (answer.correct) {
- min_score += answer.score;
- }
- });
- }
- var this_score = 0;
+ let answersStatus=[];
+ if (question.multiple) {
+ let min_score = this.getMinScore(question);
ok = this_score >= min_score;
log.answer = a;
ok = null;
}
- this.questionStatus[questionIndex] = ok;
+ this.questionStatus[questionIndex] = {'status':ok,'answers':answersStatus};
if (ok && count) {
this.score++;
this.logQuestions[questionIndex] = log;
},
+ getMinScore: function (question) {
+ // Le score minimal est le score que l'utilisateur doit atteindre sur une question pour que sa réponse soit considérée
+ let min_score = parseInt(question.min_score);
+ if (min_score === 0) {
+ min_score = 0;
+ $.each(question.answers, function (answerIndex, answer) {
+ if (answer.correct) {
+ min_score += answer.score;
+ }
+ });
+ }
+ return min_score;
+ },
+
updateScore: function () {
this.score = 0;
this.logQuestions = [];
$this.checkQuestion(qn);
});
- var state = {
+ let state = {
q: this.lastAnsweredQuestion + 1, a: this.answers
};