Ich habe ein Problem mit der Quiz-Anwendung. Ich bin Neuling und mein Problem ist, dass ich nicht weiß, wie man Radiostandardwert vom JS-Array eingibt. Wenn Sie also Seiten laden, können Sie bereits Array [0] -Positionswerte als Optionen sehen.JavaScript-Array, um den Standardwert für HTML-Radio zu übergeben
HTML-Code:
<p>
<p id="question"></p>
</p>
<input type="radio" name="quiz" id="ans1" >
<br>
<input type="radio" name="quiz" id="ans2">
<br>
<input type="radio" name="quiz" id="ans3">
<br>
<input type="radio" name="quiz" id="ans4">
<br>
<input type="submit" value="Start" onClick="RadioCheck()">
</form>
JS-Code:
<script language="javascript">
var allQuestions = [{
question: "Question1?",
choices: ["Answer1", "Answer2", "Answer3", "Answer4"],
CorrectAnswer:0},
{
question: "Question2?",
choices: ["Answer1", "Answer2", "Answer3", "Answer4"],
CorrectAnswer:0},
{
question: "Question3?",
choices: ["Answer1", "Answer2", "Answer3", "Answer4"],
CorrectAnswer:0},
{
question: "Question4?",
choices: ["Answer1", "Answer2", "Answer3", "Answer4"],
CorrectAnswer:0}
];
var currentQuestion=0;
var CorrectAnswer=0;
function RadioCheck() {
//populate question in HTML
var question = document.getElementById("question");
question.nextSibling.data = allQuestions[currentQuestion].question;
//populate answers in HTML
var ans1 = document.getElementById("ans1");
ans1.nextSibling.data = allQuestions[currentQuestion].choices[0];
var ans2 = document.getElementById("ans2");
ans2.nextSibling.data = allQuestions[currentQuestion].choices[1];
var ans3 = document.getElementById("ans3");
ans3.nextSibling.data = allQuestions[currentQuestion].choices[2];
var ans4 = document.getElementById("ans4");
ans4.nextSibling.data = allQuestions[currentQuestion].choices[3];
var selection = document.getElementsByTagName('input')
if(selection[allQuestions[currentQuestion].CorrectAnswer].checked == true){
CorrectAnswer ++;
}
currentQuestion ++;
}
</script>
Dies funktioniert, wenn i-Taste 1. Mal auf Start klicken, aber ich will Question1 und Antworten sobald Seite lädt zu zeigen.