Hello Guys我正在使用django-tastypie开发Q& A。
在我的模板中,需要打印与主题相关的所有问题以及与特定问题相关的所有答案,为此我将一个对象传递给jQuery文件并在那里迭代该对象。
这是代码
$(data.quiztopics).each(function(index,element){
$(element.questions).each(function(index,question){
$(".quiz").append("<table id='question_"+question.id+">"+
"<tr><p name='question' id=question_"+question.id+">"+
(question.question_text) +
"</p></tr><tr id=answer_"+question.id+"></tr>");
$(question.answers).each(function(index,answer){
$("#answer_"+question.id).append("<td>"+
"<input type='radio' name='answer'id=answer_"+answer.id+">"+
answer.answer_text +
"</input></td>");
});
在console.log中它显示一切正常我,回答与特定问题有关。当我将它附加到表格行时,它会错过一些问题的答案
即
10+10
120 20 30 1
10*10
100 00 20 1
10/10
10-10
请告诉我解决方案如何将所有答案放在相关问题下
答案 0 :(得分:1)
似乎你没有关闭表标签,每次添加,但从未关闭,可能#$ !!! $。您应该在“每个”之外添加标记,或者每次关闭它。其余代码看起来确定。
作为另一个建议......你应该修改你的数据结构,以便将答案作为问题的一个要素。这将解决您当前的问题,优化您的代码(不需要第二个选择器和dom中的修改),并让您对自己感觉良好:)。
答案 1 :(得分:0)
我已经解决了这个问题。可能是我有一些语法错误或其他东西。我删除了代码并再次编写它,现在它完美运行。
新代码在这里。
$(data.quiztopics)。每个(函数(指数,元素){
$(element.questions).each(function(index,question){
$(".quiz").append("<table class= question_"+question.id+"><tr><td>"+question.question_text+"</td></tr></table>");
$(".question_"+question.id).append("<tr class=answer_"+question.id+"></tr>")
$(question.answers).each(function(index,answer){
if(question.question_type=="NUM"){
$(".answer_"+question.id).append("<td><input type=radio name="+question.id+"/> "+answer.answer_text+"</td>");
}
})
})
但现在我的下一个问题是这是一个测验,我需要提交它。请告诉我如何循环查看给定的问题和答案,并选择提交测验的特定答案。