2016-07-06 19 views
0

jsonをjqueryを使用してクイズに変換するscriptが見つかりました。Jsonを使用したJqueryクイズ

残念ながら、このスクリプトはまた、ここに掲載されたバグがあります。When one infoMode is false the quiz calculation is incorrect. Fix required.

例JSON:

{ 
    "question": "How old is Madonna?", 
      "includeInfo": true, 
      "info": "Madonna Louise Ciccone is an American singer, songwriter, actress, and businesswoman.", 
      "answers": [ 
       { 
        "answer": "50", 
        "score": 0 
       }, 
       { 
        "answer": "54", 
        "score": 0 
       }, 
       { 
        "answer": "56", 
        "score": 5 
       } 
      ] 
} 

includeInfoがfalseに設定されている場合は、このスクリプトの問題は、得点があるさを

私はここに私の2つのJSON、同じデータが含まれていますが、includeInfoは異なります:

。 includeInfoが無効の場合、スコアはゼロにしかなりません。ここで

質問が回答された後、我々は、ユーザーに情報ボックスを表示しているかどうか を確立クイズのための主要な反復ルーチンです。この問題を解決することができます

$(data).each(function(index, object) { 

    $(object.questions).each(function(index, object) { 
     if (infoMode) { 
      if (currentQuestion === index) { 
       infoMode = false; 
       complete = false; 
       content = infoHTML(object.info); 
      } 
     } else { 
      if (currentQuestion === index) { 
       complete = false; 
       content = questionHTML(object.question, object.answers); 
       if (object.includeInfo) infoMode = true; 
      } 
     } 
    }); 
}); 

誰ですか?ありがとうございました!

答えて

0

ここでは、情報モードのときの回答に関する情報を保存しないでください。私はそれをキャッチするためにボタンのテキストを使用したので、特有のプロパティを見つけることができませんでした。 jsfiddlesについては

// ITERATION LOGIC: 

    var next = function ($this) { 

     if (infoMode) { 
      var userAnswer = $($this).serializeArray(); 
      updateScore(userAnswer); 
     } else { 
      // you dont save the answer here when user clicks button. 
      // maybe : 
      if(($($this).find('button').text() == "next")){ 
       var userAnswer = $($this).serializeArray(); 
       updateScore(userAnswer); 
      } // could be the answer ?    

      currentQuestion += 1; 
     } 
    }; 

私はあなた次第更新:https://jsfiddle.net/t4p8x02b/32/ ない完璧なソリューションが、それはあなたがjsfiddleリンクを提供することができます

+0

に動作します: 情報モードがfalseを? – Jacob

+0

jsfiddleリンクを追加 –

+0

ありがとう、それは動作します!それには欠点がありますか? – Jacob

関連する問題