jQuery-mobile与jQuery-tmpl不兼容?

时间:2010-11-22 21:55:29

标签: jqtouch jquery-mobile jquery-templates

是否有任何理由可以使用相同的模板和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正处于alpha版本,但它到目前为止一直运行良好,我宁愿在此阶段切换到jqtouch。有没有人见过这种行为并找到了解决方法?

3 个答案:

答案 0 :(得分:3)

完成模板操作后,您需要调用listview的refresh方法。

$( “yourUl”)列表视图( “刷新”)。 如果从未调用.page()方法,您可能希望执行类似的操作。

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

答案 1 :(得分:1)

这已在alpha 2中修复。请参阅此处:http://jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html(向下滚动到'正在更新列表')

答案 2 :(得分:0)

应该看起来像

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

你最后需要.page()。