Amr*_* E. 6 html javascript jquery firebug json
所以我有一个JSON文件,我需要从中获取测验问题.现在,我只是将问题存储在数组中作为对象.每个问题对象都有"文本"(问题本身),"选择"(可能的答案数组)和"答案"(对应于正确答案选择位置的int).
如何检查我是否正确存储了问题对象?我想创建一个问题列表,我尝试使用问题[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
}
Run Code Online (Sandbox Code Playgroud)
我的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')
});
})
Run Code Online (Sandbox Code Playgroud)
最后,一些HTML:
<div data-role="content">
<ul id="list" data-role="listview">
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道这是一个很长的问题,但我非常感谢任何帮助.最终目标是提供一个问题列表,单击这些问题时,会显示答案选项并提供一个Toast,以通知用户所选选项是否正确.如果回答正确,我还想在绿色列表中突出显示问题,否则为红色.
编辑:
工作代码:
$(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')
}
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
小智 2
你用each错了。第二,您必须意识到您正在 JSON 响应中返回一个对象的对象。您需要迭代包含问题/答案数据的每个对象,并进一步迭代该问题/答案对象。此外,您有一个嵌套在该嵌套对象中的数组,并且需要循环遍历该数组来获取您的问题。看一些伪代码:
//will give you each object your data
$.each(data, function(key, object){
//do something with my [Object, Object]
$.each(object, function(key, value){
if(key === 'text'){
//do something with qustion
}
if(key === 'choices'){
//loop over array
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10897 次 |
| 最近记录: |