2012-03-22 58 views
2

我试图从数据库中动态生成列表。结果可以被检索,但是,jquerymobile样式和数据角色属性似乎丢失了。我看到一个丑陋的列表,而不是很好的呈现的列表:phonegap jquerymobile问题:动态生成列表项时丢失样式

我试图用最简单的列表项重现它:

在我的index.html,我有:

<ul data-role="listview" data-theme="d" data-divider-theme="d" data-inset="true" id="thisweekexpenselist"></ul> 

在JavaScript文件,我有

function getExpenselist_success(tx, results) { 
$('#busy').hide(); 
var len = results.rows.length; 
for (var i=0; i<len; i++) { 
    var expense = results.rows.item(i); 
    $('#thisweekexpenselist').append('<li>Test Simplest</li>'); 
} 
db = null; 

}

这并不正确渲染的。

+0

为了给你一个想法是什么样子,看到这样的画面:http://dl.dropbox.com/u/25220312/jquery.PNG。以上是动态生成的。忘记中间两个列表项,最后一项“测试最简单”被硬编码到列表中。 – Yang 2012-03-23 00:12:23

回答

5

尝试在getExpenselist_success()函数的末尾调用$('#thisweekexpenselist').listview('refresh');

+0

作品!为什么是这样??? – Yang 2012-03-23 00:21:25

+0

因为Jquery Mobile之后的附加数据正在格式化您的列表。该方法重新创建列表视图。 – codaniel 2012-03-23 00:23:49

+0

很高兴知道! – Yang 2012-03-23 00:31:18

1

这有助于:

$(document).bind('pagechange', function() { 
    $('.ui-page-active .ui-listview').listview('refresh'); 
});