AJQ内容列表视图(‘刷新’)的JQM(jQueryMobile)问题无法正常工作

前端之家收集整理的这篇文章主要介绍了AJQ内容列表视图(‘刷新’)的JQM(jQueryMobile)问题无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我正在做的嘲笑:
function loadPage(pn) {
    $('#'+pn).live('pagecreate',function(event,ui){
        $('#'+pn+'-submit').click( function() {
            $.mobile.changePage({
                    url: 'page.PHP?parm=value',type: 'post',data: $('form#'+pn+'_form')
                },'slide',false,false);

            loadAjaxPages(pn);
        });
});

function loadAjaxPages(page) {
    // this returns the page I want,all is working
    $.ajax({
        url: 'page.PHP?parm=value',type: 'POST',error : function (){ document.title='error'; },success: function (data) {                  
            $('#display_'+page+'_page').html(data); // removed .page(),causing page to transition,but if I use .page() I can see the desired listview
        }
    });
}

在ajax调用返回如果我添加.page()(它在过去工作但我把它放在页面函数的一边,更改了我如何加载页面以节省加载时间的逻辑),使页面转换为下一页,但我可以看到listview的样式符合我的要求:

$('#display_'+page+'_page').html(data).page();

删除.page()可修复转换错误,但现在页面没有样式.我尝试过listview(‘refresh’)甚至listview(‘refresh’,true),但没有运气.

关于如何让listview刷新的任何想法?

解:

$.ajax({
    url: 'page.PHP?parm=value',success: function (data) {                  
        $('#display_'+page+'_page').html(data);
        $("div#name ul").listview(); // add div wrapper w/ name attr to use the refresh
    }
});

解决方法

>务必在ul元素上调用.listview
>如果它没有更早的样式,你只需调用.listview(),bot刷新函数.如果您的firebug设置正确,您应该看到一条错误消息告诉您.

在发布修复程序之前,我没有时间去创建一些代码,但这里有一点推荐:

if(data !== null){ $('#display_'+page+'_page').html(data).find("ul").listview() }

这比新的全局选择器好一点.此外 – 您不需要div,如果您有多个UL,则可以提供详细的选择器.

注意:上面的代码需要数据!== null.如果它为null – 它将引发错误.

猜你在找的jQuery相关文章