2012-04-12 6 views
0

Ich habe ein Multipage-Design mit Jquery Mobile. Auf der ersten Seite rufe ich eine Funktion mit onklick() auf, um ein globales Array mit Werten zu füllen. Nun möchte ich diese Werte auf dem zweiten Standort anzeigen, aber ich kann sie nicht mit document.write (array) anzeigenglobale Variablen mit Jquery Mobile Multipage

+0

whe nst du "site", beziehst du dich auf eine Seite (data-role = "page")? – JonWells

+0

ja. Ich denke, ich muss das Javascript irgendwie beginnen, wenn die Seite (Datenrolle = "Seite") geladen wird. Weil das globale Array sichtbar sein sollte, weil die Javascript-Datei mit der hole html-Datei verknüpft ist? – AdrianoCelentano

Antwort

0

Um Daten an das DOM anzufügen, müssen Sie zuerst ein Element auswählen, an das es angehängt werden soll, dann in Ihrem Fall iterieren dem Array durch, jeder Index den Wert auf das DOM und fügte hinzu:

//here is the array of values 
var myArr = [...]; 

//wait for out page to initialize 
$(document).delegate('#my-page-id', 'pageinit', function() { 

    //create an array to buffer the output 
    var output = []; 

    //use a fast loop to add the value at each index to an array, 
    //in this case I'm adding some HTMl markup to it as well 
    for (var i = 0, len = myArr.length; i < len; i++) { 
     output.push('<li>' + myArr[i] + '</li>'); 
    } 

    //check to see if there were any indexes in the array 
    if (output.length) { 

     //append a list-view widget with the info from myArr to the content section of the current page 
     $(this).children('.ui-content').append('<ul data-role="listview">' + output.join('') + '</ul>').trigger('create'); 
    } 
}); 

Dokumentation für document.write: https://developer.mozilla.org/en/document.write

hier ein JSPerf wird, um die Performance-Unterschied zwischen einigen Schleifen zu zeigen: http://jsperf.com/jquery-each-vs-for-loops/2

+0

Schön, dass du meine Frage verstanden hast :-) – AdrianoCelentano