2013-03-09 72 views
-1

我必須在javascript中創建多選狀態首都測驗。我有一個所有50個狀態的數組(stateArray)和一個所有50個首都(數組數組)的正確順序。
我有一個問題「什麼是(空白)的大寫」,我想要(空白)填充stateArray中的狀態。
然後我有4個單選按鈕,其中我想要一個填充來自capitalArray的正確答案,另外3個填充來自capitalArray的隨機大寫。我該怎麼做呢?

我一直在尋找所有的互聯網上的答案,但我似乎無法找到它。我知道如何編寫問題/單選按鈕,如果我要輸入我想顯示在每個旁邊的文本,但我不知道如何從數組中獲取它。請幫忙。JavaScript中使用數組的多項選擇測驗

編輯:好的,也許我問了這個錯誤的方式。我不想讓別人爲我做作業。還有更多的任務,我只是不知道如何做到這一點 - 特別是從數組中拉出數據來填充問題和單選按鈕。我無法在我的課本或互聯網上找到這些信息。我只是沮喪和困惑,在這一點上,我不知道去哪裏尋求幫助。如果有人知道我在哪裏可以找到關於如何做到這一點的教程或信息,那也會有幫助。



給誰就給誰下調我的問題:如果你打算把它記下,這將是非常有益的,如果你發表評論告訴我爲什麼,所以我可以提高我的未來的問題。謝謝! :-)

+1

你的確意識到,如果你編寫了這個程序,編寫一個自動給我一個完美分數的程序需要我五分鐘的時間,對吧?這種事情應該在服務器端完成,唯一發送給用戶的應該是問題和四個答案。然後用戶提交他們的答案,並且服務器檢查是否正確並相應地作出響應。 – 2013-03-09 20:56:47

+0

它有助於告訴我們你已經嘗試了什麼,並提供你有任何相關的代碼。在SO上提出的問題主要是爲了修復一部分不起作用的代碼,而不是讓某人爲您編寫代碼。 – 2013-03-09 20:57:15

+1

你基本上是要求人們做你的功課...... – Oleg 2013-03-09 20:57:36

回答

1

我不知道如何得到它從陣列

爲表中的每一行拉從任何陣列選擇一個隨機指數(如美國):

var questionIndex = Math.round(Math.random(stateArray.length)); 

然後使用所獲得的問題索引以獲得提供從兩個陣列的值兩者都是在正確的順序:

var question = stateArray[questionIndex], 
    answer = capitalArray[questionIndex]; 

您現在可以填充行的HTML字段。

編輯:

得到您的單選按鈕「不正確」的答案,你可以簡單地說:

var incorrectAnswerIndices = [], 
    incorrectAnswerIndex; 

while (incorrectAnswerIndices.length < 3) { 
    incorrectAnswerIndex = Math.round(Math.random(stateArray.length)); 
    // Check for collisions with the correct answer, 
    // and make sure there are no identical answers: 
    if (incorrectAnswerIndex !== questionIndex && 
      incorrectAnswerIndices.indexOf(incorrectAnswerIndex) === -1) { 
     incorrectAnswerIndices.push(incorrectAnswerIndex); 
    } 
} 

您現在可以遍歷incorrectAnswerIndices陣列和創建/填充您的虛假無線電臺的值帶有值的按鈕,例如:capitalArray[incorrectAnswerIndices[0]]這是給定狀態的三個不正確的大寫名稱中的第一個。

+0

感謝您的協助。我非常感謝。 – TaraX 2013-03-09 21:46:17

相關問題