2010-11-22 1 views
2

Есть ли причина, почему же шаблон и JavaScript ...jquery-mobile не очень хорошо работает с jquery-tmpl?

<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> 

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

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

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

Спасибо заранее,

ответ

3

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

$ ("yourUl"). Listview ("refresh"); В случае, если метод .page() никогда не был вызван, вы можете сделать что-то вроде этого.

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

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

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

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

+0

К сожалению, это не поможет. Вызов .page() работает, когда элемент страницы необходимо повторно отобразить; в этом случае это список. Но .listview («refresh») (как рекомендует альфа-2 документа) делает трюк. – 2010-12-14 20:06:00

 Смежные вопросы

  • Нет связанных вопросов^_^