jQuery-Mobile spielt nicht gut mit jQuery-tmpl?
-
27-09-2019 - |
Frage
Gibt es einen Grund, warum die gleiche Vorlage und JavaScript
<script id="taskTemplate" type="text/x-jquery-tmpl">
<li>${name}</li>
</script>
$.getJSON(url, function(data) {
$("#taskTemplate").tmpl(data).appendTo("#tasks");
});
funktionieren würde, wie dokumentiert mit dem folgenden jQTouch Markup:
<ul class="rounded" id="tasks"></ul>
, sondern Ergebnis in der Vorlage außerhalb gemacht zu werden (nach) der ungeordneten Liste mit den folgenden jquery-Auszeichnungs?
<div data-role="content">
<ul data-role="listview" id="tasks"></ul>
</div><!-- /content -->
Ich weiß, jquery-mobile in Alpha-Version, aber es hat funktioniert gut, so weit und ich würde es vorziehen, nicht zu diesem Zeitpunkt jQTouch zu wechseln. Hat jemand dieses Problem gesehen und eine Abhilfe gefunden?
Lösung
Sie müssen die Refresh-Methode der Listenansicht rufen, sobald Ihr Templat durchgeführt wird.
$ ( "yourUl") Listenansicht ( "Refresh"). Im Fall .page () -Methode aufgerufen nie Sie so etwas wie dies tun mögen.
try {
$(yourUl).listview("refresh");
} catch(e){
// Well, nothing to do there
}
Andere Tipps
Das hat in Alpha 2. Siehe hier fest: http : //jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (nach unten scrollen zu 'Aktualisieren von Listen')
Es sollte wie folgt aussehen
$("#taskTemplate").tmpl(data).appendTo("#tasks").page();
Sie müssen die .page () am Ende.