jQuery中的listview('refresh')似乎无法正常工作

时间:2012-07-10 19:57:55

标签: android jquery listview cordova

我正在使用Phonegap和JQuery为Android开发应用程序。其中一项任务是动态地向列表中添加一些内容。在第一次,当我添加第一个元素并调用.listview()时,一切似乎都很好,但是当我添加一些内容时,它的样式不能正常工作,而listview('refresh')和其他命令都没有'一点帮助。我正在使用jquery mobile 1.0a1。这是两个按钮的代码:

    $("#nextDay").click(function(){ 
$("#SheduleList").append('<li><a href="#"><h3 class="ui-li-heading">ololo1</h3></a></li>');
$('#SheduleList').listview('refresh');  
});

$("#prevDay").click(function(){
$("#SheduleList").append('<li><a href="#"><h3 class="ui-li-heading">ololo</h3></a></li>');
$("#SheduleList").listview();   
});

第一个按钮是“prevButton”。这是一些HTML:

<body onload="init();">
<div data-role="page">
<div data-role="header" data-theme="b">
<h1>Расписание группы 04-322</h1>
<h1 id=hday>День недели</h1>
</div>
<div data-role="content" data-theme="b">
<ul id="SheduleList"> 
</ul>
<button id="nextDay">Следующий день</button>
<button id="prevDay">Предыдущий день</button>
</div>
</div>
</body>

2 个答案:

答案 0 :(得分:1)

你并不孤单 这似乎对我来说是最好的:

refresh = function (selector)
{
 try
 {            
 //this may throw an exception: 
 //  call methods on listview prior to initialization; attempted to call method 'refresh'
 $(selector).listview('refresh'); 
 }
 catch (e) 
 {
 }
}

refresh("#SheduleList");

答案 1 :(得分:0)

在您的data-role="listview"中以HTML格式添加<ul>

<ul id="SheduleList" data-role="listview" data-inset="true"></ul>