jQuery-mobile плохо работает с jQuery-tmpl? - PullRequest
2 голосов
/ 23 ноября 2010

Есть ли причина, по которой тот же шаблон и JavaScript

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

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

будет работать как описано со следующей разметкой jqtouch:

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

но в результате шаблон будет отображаться вне (после) неупорядоченного списка со следующей разметкой jquery-mobile?

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

Я понимаю, что jquery-mobile находится в альфа-версии, но до сих пор работала хорошо, и я бы предпочел не переключаться на jqtouch на этом этапе. Кто-нибудь видел такое поведение и нашел обходной путь?

Ответы [ 3 ]

3 голосов
/ 12 января 2011

Вам нужно вызвать метод обновления представления списка, как только ваш шаблон будет готов.

$ ( "yourUl") ListView ( "обновить"). В случае, если метод .page () никогда не вызывался, вы можете захотеть сделать что-то подобное.

    try { 
        $(yourUl).listview("refresh");
    } catch(e){
        // Well, nothing to do there
    } 
1 голос
/ 10 декабря 2010

Это было исправлено в альфа-версии 2. См. Здесь: http://jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (прокрутите вниз до «Обновление списков»)

0 голосов
/ 12 декабря 2010

Это должно выглядеть так:

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

Вам нужен .page () в конце.

...