2013-08-20 42 views
0

你好我正在使用django-tastypie在Q & A上工作。jQuery有時加載所有的值,但有時會丟失一些值

在我的模板中需要打印所有與某個主題相關的問題以及與某個特定問題相關的所有答案,爲此,我將一個對象傳遞給了jQuery文件並在那裏迭代該對象。

這是CONSOLE.LOG代碼

$(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>"); 
}); 

它顯示一切都好我,與特定的問題é回答。 BT當我把它添加到一個錶行它忽略的一些問題的答案 即

10+10 

120 20 30 1 
10*10 

100 00 20 1 
10/10 

10-10 

請告訴我的解決方案,我怎麼能搞到放置在一個相關的問題

回答

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>"); 
         } 

        }) 

       }) 

但現在我的下一個問題是,這是一個測驗,我需要提交。請告訴我,我該怎麼循環在給定的問題和答案,並選擇提交測驗的具體答案。

1

看來你所有的答案不關閉表格標籤,這是每次添加,但從來沒有關閉,並可能#$ !!! $東西了。您應該將標籤添加到「每個」之外,或者每次關閉它。其餘的代碼看起來好像是

作爲另一個建議...你應該修改你的數據結構以保持答案作爲問題的一個元素。這會解決你當前的問題,優化你的代碼(不需要第二個選擇器和修改dom),並讓你感覺良好:)。

+0

是的,我錯過了關閉表標記。它現在也不工作。實際上我想要做的是我想追加這些問題和答案就像一個測驗模板我做了多個表,並在每張表bcz中單獨回答tr,同時提交測驗我可以很容易地循環測驗id中的表,並從td獲取值,請告訴我是否存在任何其他方式來實現th是測驗顯示和提交任務 –

相關問題