我有一个listview,它的列表项由javascript代码创建。代码第一次运行时,它工作正常。它第二次运行时,列表被创建并且工作正常,但jQuery Mobile样式已经消失。搜索其他线程让我在不同的地方尝试以下代码行,但无济于事:
$('#ul').listview('refresh');
和
$('#ul').listview().listview('refresh');
和
$('#ul').trigger('create');
我的listview在html中声明如下:
<div ID="myUL" class="nav">
<ul data-role="listview" ID="ul"></ul>
</div>
以下javascript创建列表项:
$.ajax( {
async: 'false',
type:'POST',
url:'[redacted]',
contentType: "text/xml",
dataType: "xml",
data: soapRequest,
success:function processSuccess(data, status, req) {
var returnString = $(req.responseXML).find("GetMyWebServiceResult").text().split("|");
$("#ul").children().remove('li');
for (var i = 0; i < length; i++) {
var addressString = returnString[i].split(";");
//create list item
var myList = document.getElementById("ul");
var liSold = document.createElement("li");
var aTag = document.createElement('a');
aTag.innerHTML = addressString[0];
aTag.setAttribute('onClick','somefunction(i)');
aTag.setAttribute('data-transition','slide');
liSold.appendChild(aTag);
myList.appendChild(liSold);
}
$('#ul').listview('refresh');
},
error: function(e){
alert('error 2: ' + e);
}
})
此外,我在一个phonegap(cordova)应用程序中这样做,如果这有所不同。
编辑其他细节: 重新创建列表时,页面div不再处于焦点。此外,js代码段位于成功使用Web服务时调用的函数中。
答案 0 :(得分:0)
list id.try
是错误的$('#myUL').listview('refresh');