2016-12-21 3 views
1

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.

Antwort

0

Sie müssen einem Onload-Ereignis eine Funktion hinzufügen.

Zum Beispiel in Ihrem Körper Erklärung können Sie die folgenden

<body onload="RadioCheck()"> 

hinzufügen Wenn die Seite die Funktion lädt RadioCheck läuft Ihre Form bevölkert.

Weitere Informationen zum Onload-Ereignis finden Sie hier: http://www.w3schools.com/jsref/event_onload.asp

Verwandte Themen