私はクイズの質問を得るために必要なJSONファイルを持っています。今のところ、質問をオブジェクトとして配列に格納するだけです。各質問オブジェクトには、「テキスト」(質問自体)、「選択肢」(可能な回答の配列)、「回答」(正解選択肢の場所に対応するint)があります。JSONファイルからJQueryでリストを作成しようとしています。デバッグするには?
質問オブジェクトを正しく保存していることを確認するにはどうすればよいですか?私は質問のリストを作成したいのですが、私はリストに質問[i] .textを入力しようとしましたが動作しませんでした。私はFirebugをインストールして何が起こっているのかをデバッグしましたが、私はそれを最大限に活用する方法は完全にはわかりません。
JSONはこの形式になります。
{
"text": "What does the author least like about Eclipse?",
"choices": [
"The plugin architecture.",
"FindBugs.",
"Refactoring.",
"The Run As menu."],
"answer": 3
}
私のJavaScriptファイル:
$(document).ready(function(){
var questions=[];
$.getJSON('quiz.js',function(data){
var i=0;
for(i=0;i<data.length;i++){
questions[i]=[String(data[i].text),String(data[i].choices),int(data[i].answer)];
}
var list = $('#list')
$(questions).each(function(_, text) {
var item = $('<li/>')
var link = $('<a/>').html(text)
link.click(function() { alert(text) })
item.append(link)
list.append(item)
})
$('#list').listview('refresh')
});
})
最後に、いくつかのHTML:
<div data-role="content">
<ul id="list" data-role="listview">
</ul>
</div>
長い質問ですが、本当に助かりました。最終目標は、クリックすると回答の選択肢を表示し、選択されたオプションが正しいかどうかをユーザーに通知するためのトーストを提供する質問のリストを持つことです。また、正しく答えられた場合はGreenの質問をハイライトし、それ以外の場合はRedを強調したいと思います。
EDIT:
の作業コード:
$(document).ready(function(){
$.getJSON('quiz.js',function(data){
var questions = data;
var list = $('#list')
$(questions).each(function(index, object) {
$.each(object, function(key, value){
if(key === 'text'){
//do something with qustion
var item = $('<li/>')
var link = $('<a/>').html(value)
link.click(function() { alert(value) })
item.append(link)
list.append(item)
$('#list').listview('refresh')
}
});
});
});
});
Firebugコンソールにエラーメッセージが表示されますか? –
いいえ、私はちょうどそれを使用する方法がわかりません。私は自分の質問配列が正しく埋まっていると思っていますが、わかりません。私はこれを参照してください:http://i.imgur.com/EqyCw1Z.png?1 –