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
        }
    });
}@H_403_3@ 
 

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

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

删除.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
    }
});@H_403_3@

解决方法

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

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

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

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

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

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...