Mam plik JSON, którego potrzebuję, aby uzyskać odpowiedzi na pytania z quizu. Na razie po prostu przechowuję pytania w tablicy jako obiekt. Każdy obiekt pytania ma "tekst" (samo pytanie), "wybory" (tablica możliwych odpowiedzi) i "odpowiedź" (int odpowiadający lokalizacji prawidłowego wyboru odpowiedzi).Próba zapełnienia listy w JQuery z pliku JSON. Jak debugować?
Jak mogę sprawdzić, czy prawidłowo przechowuję obiekty pytania? Chcę utworzyć listę pytań i próbowałem zapełnić moją listę pytaniami [i] .text i nie zadziałało. Zainstalowałem Firebuga do debugowania tego, co się dzieje, ale nie jestem do końca pewien, jak najlepiej z niego korzystać.
JSON jest w następującym formacie: plik
{
"text": "What does the author least like about Eclipse?",
"choices": [
"The plugin architecture.",
"FindBugs.",
"Refactoring.",
"The Run As menu."],
"answer": 3
}
My 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')
});
})
Wreszcie, niektóre HTML:
<div data-role="content">
<ul id="list" data-role="listview">
</ul>
</div>
Wiem, że to długie pytanie, ale naprawdę doceniam każdą pomoc. Ostatecznym celem jest posiadanie listy pytań, które po kliknięciu wyświetlają opcje odpowiedzi i zapewniają toast, aby powiadomić użytkownika, czy wybrana opcja jest poprawna, czy nie. Chcę również zaznaczyć pytanie na liście w zielonej, jeśli odpowiedź jest prawidłowa, a czerwona w przeciwnym razie.
EDIT:
kod robocza:
$(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')
}
});
});
});
});
Czy widzisz komunikat o błędzie w firebug consol? –
Nie, po prostu nie wiem, jak z niego korzystać. Myślę, że moja tablica pytań jest wypełniona poprawnie, ale nie mogę powiedzieć. Rozumiem to: http://i.imgur.com/EqyCw1Z.png?1 –