Personnellement, je charger les données JSON dans une variable globale et la page de cette façon. J'espère que vous ne me dérange pas mes hypothèses sur le contexte des données d'enquête, je pense que je me souviens de vous hier.
var surveyData = "[{prop1: 'value', prop2:'value'},{prop1: 'value', prop2:'value'}]"
$.curPage = 0;
$.fn.loadQuestion = function(question) {
return this.each(function() {
$(this).empty().append(question.prop1);
// other appends for other question elements
});
}
$(document).ready(function() {
$.questions = JSON.parse(surveyData); // from the json2 library json.org
$('.questionDiv').loadQuestion($.questions[0]);
$('.nextButton').click(funciton(e) {
if ($.questions.length >= $.curPage+1)
$('.questionDiv').loadQuestion($.questions[$.curPage++]);
else
$('.questionDiv').empty().append('Finished');
});
});
~ non testé
Je dois admettre que cette approche de @sktrdie de créer un plugin ensemble pour gérer l'enquête serait bien. OMI cette méthode est vraiment un chemin de moindre résistance.
Pouvez-vous poster un échantillon de votre JSON? – Matty