Question

Y at-il des raisons pour lesquelles le même modèle et JavaScript

<script id="taskTemplate" type="text/x-jquery-tmpl">
  <li>${name}</li>
</script>

$.getJSON(url, function(data) {       
  $("#taskTemplate").tmpl(data).appendTo("#tasks");
});

fonctionnerait comme documenté avec le balisage jQTouch suivant:

<ul class="rounded" id="tasks"></ul>

mais le résultat dans le modèle se rendre à l'extérieur (après) la liste non ordonnée avec le balisage jquery mobile suivant?

<div data-role="content"> 
  <ul data-role="listview" id="tasks"></ul>
</div><!-- /content -->

Je me rends compte est en version alpha jquery-mobile, mais il travaille bien à ce jour et je préfère ne pas passer à jQTouch à ce stade. Quelqu'un at-il vu ce comportement et a trouvé une solution de contournement?

Était-ce utile?

La solution

Vous devez appeler la méthode de rafraîchissement de la listview une fois que votre templating est fait.

listview ( "rafraîchissement") $ ( "yourUl"). Lorsqu'on applique la méthode .page () n'a jamais été appelé, vous voudrez peut-être faire quelque chose comme ça.

    try { 
        $(yourUl).listview("refresh");
    } catch(e){
        // Well, nothing to do there
    } 

Autres conseils

Ceci a été corrigé en alpha 2. Voir ici: http : //jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (défilement vers le bas pour "listes Mise à jour)

Il devrait ressembler à

$("#taskTemplate").tmpl(data).appendTo("#tasks").page();

vous avez besoin du .page () à la fin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top