Как рассчитать правильные ответы в ng-викторине
Я хотел бы рассчитать и отобразить правильные ответы в ng-quiz angularjs 1
Что я уже пробовал:
$scope.isCorrect = функция (вопрос) {
$область действия.correctCount = 0;
вопрос.Опции.forEach(функция (опция, индекс, массив) {
если (помощник.toBool(вариант.Выбранный вариант.IsAnswer) {
$область действия.correctCount++;
}
});
возвращаемый результат;
};
OriginalGriff
И что же? У вас есть вопрос?
Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
Member 13992677
Я любитель программирования, пытаюсь учиться, изменяя существующую программу. Я работаю над ng-quiz angularjs), но я обнаружил, что все работает нормально, но я ожидаю, что система покажет мне общие баллы при отправке. пожалуйста, смотрите полный код ниже для более глубокого понимания:
var quizCtrl = функция ($scope, $http, helper) {
$область действия.quizName = 'data/csharp.js';
//Примечание: функциональны только те конфигурации, которые задокументированы по адресу: http://www.codeproject.com/Articles/860024/Quiz-Application-in-AngularJs
/ Другие находятся в стадии разработки.
$область действия.defaultConfig = {
'allowBack': true,
'allowReview': true,
'autoMove': false, // если true, то при ответе он автоматически перейдет к следующему вопросу.
"длительность": 0, // указывает время, в течение которого тест должен быть завершен. после этого тест будет отправлен автоматически. 0 означает неограниченный.
"размер страницы": 1,
'requiredAll': false, // указывает, должны ли вы ответить на все вопросы перед отправкой.
"richText": ложь,
"shuffleQuestions": ложь,
'shuffleOptions': false,
'showClock': false,
'showPager': верно,
"тема": "нет"
}
$scope.goTo = функция (ИНДЕКС) {
если (индекс и gt; 0 &&усилителя; индекс &ЛТ;= $охвата.totalItems) {
$область действия.индекс currentPage = ;
$область действия.викторина режим ='';
}
}
$scope.onSelect = функция (вопрос, опция) {
если (вопрос.QuestionTypeId == 1) {
вопрос.Опции.forEach(функция (элемент, индекс, массив) {
если (элемент.Id != опция.Айди) {
элемент.Selected = false;
//вопрос.Ответил = element.Id;
}
});
}
если ($охвата.конфиг.autoMove == правда и усилитель; & $область действия.currentPage &ЛТ; $область действия.totalItems)
$область действия.currentPage++;
}
$область действия.onSubmit = функция () {
ВАР отвечает = [];
$область действия.вопросы.forEach(функция (q, индекс) {
answers.push({ 'QuizId': $scope.quiz.ИД 'QuestionId': вопрос.ИД, ответ: вопрос.Ответил });
});
// Разместите свои данные на сервере здесь. ответы содержат идентификатор вопроса и ответ пользователя.
//$протоколу HTTP.пост('API-интерфейс/викторина/подать', ответы).успех(функция (данные, информация) {
// alert(данные);
//});
console.log($scope.questions);
$область действия.результат эксплуатации ='';
}
$область действия.pageCount = функция () {
вернуться математика.метод ceil($охвата.вопросы.длина / $область действия.параметра itemsperpage должно);
};
//Если вы хотите, вы можете создать отдельную фабрику или службу для вызова loadQuiz. Чтобы все было просто, я держал его в контроллере.
$scope.loadQuiz = функция (файл) {
$протоколу HTTP.сделать(файл)
.then(функция (res) {
$масштаб.викторина = рез.данных.викторина;
$scope.config = helper.extend({}, $scope.defaultConfig, res.data.config);
$scope.questions = $scope.config.shuffleQuestions ? helper.shuffle(res.data.questions) : res.data.questions;
$scope.totalItems = $scope.questions.длина;
$область действия.параметра itemsperpage должно = $охвата.конфиг.страницы;
$область действия.currentPage = 1;
$область действия.викторина режим ='';
$scope.$watch('currentPage + itemsPerPage', функция () {
var begin = (($scope.currentPage - 1) * $scope.itemsPerPage),
конец = начать + $охвата.параметра itemsperpage должно;
$scope.filteredQuestions = $scope.questions.slice(начало, конец);
});
});
}
$scope.loadQuiz($scope.quizName);
$scope.isAnswered = функция (ИНДЕКС) {
var answered = "не ответил";
$область действия.вопросы[индекс].Варианты.forEach(функция (элемент, индекс, массив) {
если (элемент.Selected == true) {
answered = "ответил";
возвращать false;
}
});
возвращение ответило;
};