2013-12-06 3 views
0

Я работаю над примером сравнения вопросов и ответов, где я пытаюсь сравнить строку вопроса с данными json. Вопросы и ответы будут вытащены как данные json. Не могли бы вы помочь мне найти решение проблемы сравнения.jquery сравнение json string со значением

My code is here

<label for="What_is_planning">What is planning</label> 
<br> 
<label for="What_is_implementing">What is implementing</label> 
<br> 
<div class="result"></div> 


$(document).ready(function() { 
    $('label').mouseover(function() { 
     var helpString = this.firstChild.nodeValue.replace(':', '').trim(); 

     var answerString = "<br>No Answer"; 
     $(".result").html(" <hr><b>Guest: </b>" + helpString); 
     $(".result").append(" <div><b>AskGFS: </b>" + answerString); 
     console.log(helpString); 
    }); 

    var QandAData = '{"gfsdata":[{"question":"what is planning","answer":"This is a important part of life"},' + 
     '{"question":"what is implementing","answer":"this is followed by planning"}]}'; 

    //Comparing answers 
    for (var i = 0; i < QandAData.length; i++) { 
     if (QandAData[i].gfsdata.question == 'what is planning') { 
      answerString = QandAData[i].gfsdata.answer; 
     } 
    } 
}); 
+0

вы можете сказать мне, что данные в ответ строку вашего получать !!!! –

+0

Возможный дубликат [Как разобрать JSON в JavaScript] (http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript) –

+0

FYI, здесь нет оснований использовать JSON. Вы можете просто использовать литерал объекта и сохранить шаг синтаксического анализа. –

ответ

1

Try:

$(document).ready(function() { 
    $('label').mouseover(function() { 
     var helpString = this.firstChild.nodeValue.replace(':', '').trim(); 
     var answerString = "<br>No Answer"; 
     var QandAData = { 
      "gfsdata": [{ 
       "question": "What is planning", 
       "answer": "This is a important part of life" 
      }, { 
       "question": "What is implementing", 
       "answer": "This is followed by planning" 
      }] 
     }; 
     for (var i = 0; i < QandAData.gfsdata.length; i++) { 
      if (QandAData.gfsdata[i].question == helpString) { 
       answerString = QandAData.gfsdata[i].answer; 
      } 
     } 
     $(".result").html(" <hr><b>Guest: </b>" + helpString+" <div><b>AskGFS: </b>" + answerString); 
    }); 
}); 

Updated fiddle here.

Смежные вопросы