[英]Can't get counter to work inside function in Javascript
我正在嘗試用Javascript創建眾所周知的測驗,這是我的第一個“從頭開始”練習。 這是我的小提琴 ,其中包含所有其他代碼。
這是我的問題:
var allQuestions = [{
"question": "Who was Luke's gunner in the battle at Hoth?",
"choices": ["Dak", "Biggs", "Wedge", "fx-7"],
"correctAnswer": 0
}];
在此功能中,我包括了一個循環,該循環應遍歷單選按鈕與用戶選擇之間的關系。 見下文。
function answerFwd() {
var answerOutput = " ";
var itemAnswers = allQuestions;
var answer = 0;
var playerTally = 0;
var playerFeedback = "";
var playerMessage = document.getElementById("playerMessage");
現在,我堅持這一點; 將數組中的正確答案與用戶將在單選按鈕中選擇的答案進行匹配,然后動態顯示分數。
現在,我可以顯示0,但是沒有增量。
var radioValue = $("input[type='radio'].radioButtons:checked").val();
if (currentAnswer <= itemAnswers.length) {
currentAnswer++;
}
createRadioButtonFromArray(itemAnswers[currentQuestion].choices);
for(i = 0; i < radioValue.length; i++) {
if(radioValue[i].checked) {
if(radioValue[i].value == itemAnswers.correctAnswer) {
playerTally++;
break;
}
}
}
playerFeedback += "<h4>" + playerTally + "</h4> <br/>";
playerMessage.innerHTML = playerFeedback;
}
我不反對使用jQuery解決方案,而是希望使用香草JS替代方案,這樣我才能真正看到發生了什么!
謝謝大家!
在繼續下一個問題之前,您可以找出答案是否正確,方法是
if (document.querySelectorAll("#responses input")[allQuestions[currentQuestion].correctAnswer].checked)
完整的解決方案是
var radios = document.querySelectorAll("#responses input");
var correct = allQuestions[currentAnswer].correctAnswer;
if (radios[correct].checked) {
playerTally++;
playerFeedback += "<h5>" + playerTally + "</h5> <br/>";
playerMessage.innerHTML = playerFeedback;
}
if (currentAnswer <= itemAnswers.length) {
currentAnswer++;
}
現在我仔細地看,這和我先生的一樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.