0

そのため、学校の課題では、javascript を使用してインタラクティブなクイズを作成する必要があります。問題は、すべての質問をローカル ストレージの外部テキスト ファイルに保存する必要があることです。質問はオブジェクトの配列に保存され、「for」ループを使用してラジオ ボタンに追加します。

私はそれをグーグルで検索しましたが、私にとって十分に明確な答えが見つかりませんでした...ファイルを読み出せることは理解していますが、既存のforループに質問を追加する方法がわかりません

私はまだJSにまったく慣れていないので、これを実装する方法がわかりません

ここにコード スニペットがあります。配列から質問を取り出し、ラジオ ボタンを使用してリストに追加します。

var i = 0;
var len = allQuestions.length;

function frageStellen(i){
var anzahlVarianten = allQuestions[i].choices.length;


    for(var j = 0; j < anzahlVarianten; j++){


    //create radio buttons

    var option = document.createElement("li");
    var variante = document.createElement("input");
    variante.setAttribute('type', 'radio');
    variante.setAttribute('name', 'gestellteFrage'+ i);
    option.setAttribute('class', '.option');
    //fragen-Inhalt
    var inhalt = document.createTextNode(allQuestions[i].choices[j]);


    myOptions.appendChild(option);
    option.appendChild(variante);
    option.appendChild(inhalt);
    myQuestion.innerHTML = allQuestions[i].question;
    }
}

完全なコードへのリンクは次のとおりです: http://jsfiddle.net/7HaCz/

助けてください!

4

1 に答える 1

0

あなたのコードのこの部分を入れてください:

var jsonData = [{
  question: "What is Javascript?",
  choices: ["An ancient language", "A programming language", "A medieval manuscript", "An internet troll"],
  correctAnswer: 1
}, {
  question: "Where is Venice?",
  choices: ["Peru", "Greece", "US", "Italy", "Congo"],
  correctAnswer: 3
}, {
  question: "What does RGB mean?",
  choices: ["Red, Green, Blue", "Real Graphics Body", "SWAG"],
  correctAnswer: 0
}, {
  question: "How many strings has a  guitar?",
  choices: [3, 4, 5, 6, 7, 8],
  correctAnswer: 3
}];

別のファイルで、このスタックオーバーフローに従って JSON.parse(jsonData) を実行し、そこから JSON データを再度取得します。

于 2013-10-28T00:29:10.167 に答える