Jquery mobile jQuery移动列表视图刷新
除了一个问题外,我在加载后使用动态构建的列表使listview刷新功能正常。列表中的最后一个Jquery mobile jQuery移动列表视图刷新,jquery-mobile,Jquery Mobile,除了一个问题外,我在加载后使用动态构建的列表使listview刷新功能正常。列表中的最后一个标记未应用任何样式 刷新实际上将ui-btn-ui-btn图标右ui-li-ui角底部ui-btn-up-c类添加到倒数第二个标记中 你知道为什么会这样吗 附件是动态生成列表的函数: function createSidebarEntry(marker, name, phone, address, distance) { var saddr = document.getElementById('add
标记未应用任何样式
刷新实际上将ui-btn-ui-btn图标右ui-li-ui角底部ui-btn-up-c
类添加到倒数第二个
标记中
你知道为什么会这样吗
附件是动态生成列表的函数:
function createSidebarEntry(marker, name, phone, address, distance) {
var saddr = document.getElementById('addressInput').value;
var li = document.createElement('li');
var html = '' + name + ' (' + distance.toFixed(1) + ' miles)' + address + phone +'<a href="http://maps.google.com/maps?saddr='+ saddr +'&daddr=' + address +'" /></a>';
li.innerHTML = html;
$('#locationList').listview('refresh');
return li;
}
函数createSidebarEntry(标记、姓名、电话、地址、距离){
var saddr=document.getElementById('addressInput')。值;
var li=document.createElement('li');
var html=''+name+'(''+distance.toFixed(1)+'miles')+地址+电话+'';
li.innerHTML=html;
$('#locationList')。listview('refresh');
返回李;
}
我对listview刷新功能(jqm 1.0 beta1)也有一些问题。
在IE8上,情况更糟
因此,我的解决方案就是简单地检查jqm对
标记所做的工作。并直接插入刷新后的html代码
这不是一个优雅的解决方案,但它可以工作。从您的代码来看,您似乎在该函数之外向listview添加li,但您正在调用。listview('refresh');函数内部 因此,它恰好适用于您的所有LIs,因为除了最后一个,因为始终是后面的LI使列表具有正确的外观和感觉 解决方案:只需调用.listview('refresh')在之后,您已将最后一个LI添加到此函数之外。它还具有提高性能的效果,因为只有在动态添加完所有新的LI元素后,您才会刷新listview。调用
。listview(“刷新”)
对我不起作用。它创建了一个基本列表,没有样式
这就是我的工作原理:
function updateData()
{
$.ajax({
url: '@Html.Raw(ajaxUrl)',
async: false,
beforeSend: function () { $.mobile.showPageLoadingMsg(); },
complete: function ()
{
$.mobile.hidePageLoadingMsg();
$("ul:jqmData(role='listview')").listview();
},
success: function (data, textStatus, jqXHR)
{
$('#myDiv').html(data);
$('#myDiv').trigger("create"); // *** THIS IS THE KEY ***
}
});
}
有时,您需要在调用刷新之前实例化listview视图 Chrome应该会给你一个错误,说明你不能对一个未实例化的listview应用刷新 你可以试试这个,它可能会解决你的问题(它为我解决了完全相同的问题)
请编辑你的问题并添加一些你正在使用的代码正如Phill所说,请添加一些代码!另外,请确保验证您的标记:可能遗漏了一些愚蠢的内容,这意味着jQM无法执行
列表视图。请正确刷新调用。感谢您的回复。我发布了负责创建列表的函数。我们还没有将整个脚本转换为jQuery,这将在将来出现。希望尽可能保持脚本的精简,因为它将被用作位置查找器,已经有一些重JS正在进行,这将使浏览器崩溃。
$('#locationList').listview().listview('refresh');