所以我有一个 JSON 文件,我需要从中获取测验问题。现在,我只是将问题作为对象存储在数组中。每个问题对象都有“文本”(问题本身)、“选择”(可能答案的数组)和“答案”(对应于正确答案选择位置的 int)。
如何检查我是否正确存储了问题对象?我想创建一个问题列表,我尝试用 questions[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>
我知道这是一个很长的问题,但我非常感谢任何帮助。最终目标是拥有一个问题列表,单击该列表时,会显示答案选项并提供祝酒词以通知用户所选选项是否正确。如果回答正确,我还想以绿色突出显示列表中的问题,否则以红色突出显示。
编辑:
工作代码:
$(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')
}
});
});
});
});