Tweakers,
De (mobiele) applicatie waar ik mee bezig ben haalt van de server een JSON die daar gegenereerd wordt. De JSON moet op elk gewenst moment binnengehaald kunnen worden middels een 'sync'-knop en gebeurt nu door een AJAX request naar de server te doen. De data in de JSON moet in een unsorted list komen die door jQuery Mobile 'opgemaakt' wordt.
Echter, dit laatste gaat niet goed. In plaats van de 'jQuery-style' lijst wordt de lijst als 'gewone' html ul weergegeven. Opzich logisch omdat de UI gegenereerd wordt bij het laden van de pagina en deze niet geupdate wordt bij een request.
Sync-knop die de functie aanroept:
Simpele ul:
Fragment van de AJAX request (loadTask()):
Ik kan nergens een doLayout() functie o.i.d. vinden die nadat de request is geweest de lijst opmaakt. Iemand een idee?
De (mobiele) applicatie waar ik mee bezig ben haalt van de server een JSON die daar gegenereerd wordt. De JSON moet op elk gewenst moment binnengehaald kunnen worden middels een 'sync'-knop en gebeurt nu door een AJAX request naar de server te doen. De data in de JSON moet in een unsorted list komen die door jQuery Mobile 'opgemaakt' wordt.
Echter, dit laatste gaat niet goed. In plaats van de 'jQuery-style' lijst wordt de lijst als 'gewone' html ul weergegeven. Opzich logisch omdat de UI gegenereerd wordt bij het laden van de pagina en deze niet geupdate wordt bij een request.
Sync-knop die de functie aanroept:
JavaScript:
1
| <a href="#" onclick="javascript:functions.loadTask();" data-icon="gear" class="ui-btn-right">Sync</a> |
Simpele ul:
HTML:
1
| <ul id="tasklist" data-role="listview" data-theme="c"></ul> |
Fragment van de AJAX request (loadTask()):
JavaScript:
1
2
3
4
5
6
7
8
| if (xmlhttp.readyState==4 && xmlhttp.status==200) { var task = JSON.parse(xmlhttp.responseText); var string=""; for (var i=0 ; i<task.rows.length ; i++) { string = string+'<li><a href="#">'+task.rows[i].description+'</a></li>'; } document.getElementById("tasklist").innerHTML=string; } |
Ik kan nergens een doLayout() functie o.i.d. vinden die nadat de request is geweest de lijst opmaakt. Iemand een idee?