1
var allQuestions = [{
question1: "What is 1 + 1?",
choices: ["1", "2", "3", 4],
correctAnswer: ["2"]
}, {
question2: "What is 2 + 2?",
choices: ["6", "2", "3", 4, ],
correctAnswer: ["4"]
}, {
question3: "What is 3 + 3?",
choices: ["3", "6", "9", 12],
correctAnswer: ["6"]
}];
var newArray = shuffleArray(allQuestions);
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
function appendQuestions(number) {
if (newArray == "undefined" || newArray == "null" || newArray.length == 0) {
document.getElementById("questionForm").innerHTML = "Complete!";
} else {
for (i = 0; i < 4; i++) {
$("#questionForm").append("<input name='question' type='radio'>" +
JSON.stringify(newArray[0].choices[i]) + "</input>")
}
}
}
$(function() {
$("#questionList").empty();
appendQuestions();
newArray.shift();
})
function isCorrectAnswer() {
checkedVal = $("input[type=radio][name=question]:checked").val();
if (checkedVal == newArray[0].correctAnswer) {
alert("Correct!");
} else {
alert("Wrong!");
}
alert(checkedVal);
}
$("#submitButton").click(function() {
isCorrectAnswer();
$("#questionForm").empty();
appendQuestions();
newArray.shift();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='container'>
<section id='questions'>
<form id="questionForm">
</form>
<div style='clear:both'></div>
<input id='submitButton' type='button' value='Submit'>
</section>
</div>
首先,抱歉的代碼粘貼量。我不知道如果我錯過了一些小錯誤,或者我只是寫錯了代碼,所以我認爲最好是發佈所有錯誤代碼。
我想獲得一個單選按鈕的值。在isCorrectAnswer函數中,前兩行用於確定當前選中的單選按鈕的值。問題是當我提醒單選按鈕的值時,它只是說「開」。我已經搜索了最後一小時,試圖找出這意味着什麼或如何解決它,並找不到一件事。
我很抱歉,如果這是一個愚蠢的問題,或者它已被回答。
你的收音機沒有價值嗎? –
哇,你說得對。出於某種原因,我認爲把HTML中的東西等同於它的價值。我添加了一個值=「」,它的工作原理。我覺得自己像個白癡。謝謝。 –
'.innerhtml'不是'val'或者是的,增加一個值'將會工作到 – Blag