【问题标题】:Generate a dynamic ListView生成动态 ListView
【发布时间】:2011-12-21 12:12:15
【问题描述】:

我正在关注示例 http://jquerymobile.com/test/docs/pages/page-dynamic.html ,但我的问题是它根本不呈现页面,我只看到一个白页。我不知道是什么问题,即使我已经将page.page() 更改为page.trigger('create'),也尝试了content.find(":jqmData(role=listview)").listview('refresh'),但什么也没有。问题是我在控制台中没有错误,所以我不知道我做错了什么。这是我的代码:

$(document).bind("pagebeforechange", function(e, data) {
    console.log('[binding][pagebeforechange]');
    if( typeof data.toPage === "string") {
        var u = $.mobile.path.parseUrl(data.toPage);
        if(u.hash.search(/^#watch/) !== -1) {
            console.log('[binding] setWatch');
            var id = u.hash.replace(/.*id=/, "");
            e.preventDefault();
            setWatch(u, id);
        } else if(u.hash.search(/^#playlist/) !== -1) {
            console.log('[binding] setPlaylist');
            //Bind the change page event, and if it is playlist page, call setPlaylist
            playlistId = u.hash.replace(/.*id=/, "");
            e.preventDefault();
            setPlaylist(u);
        }
    }
});

function setPlaylist(urlObj) {
    console.log('[setPlaylist]');
    var page = $('#playlist');
    var content = $('#playlistContent');
    var html = getListHtml(playlistId); //Here a get the complete list code
    content.empty();
    content.html(html);
    console.log('[setPlaylist] before trigger');
    page.trigger('create');
    //page.page();
    //content.find(":jqmData(role=listview)").listview('refresh');
    page.listview();

    var options = {};
    options.reloadPage = true;
    options.dataUrl = urlObj.href;
    options.transition = "slide";
    $.mobile.changePage(page, options);
    console.log('[setPlaylist] changepage');
    location.hash = urlObj.hash;
}

所以如果你知道我做错了什么,请告诉我。

谢谢!!

编辑:

如果我使用content.find(":jqmData(role=listview)").listview('refresh'),它会显示下一个错误

未捕获的类型错误:无法读取属性 'jQuery16401444779944140464' 未定义的

而且似乎pagebeforechange 会触发两次。真的不知道自己做错了什么。

【问题讨论】:

标签: jquery listview jquery-mobile


【解决方案1】:

错误是缺少的,所以jqm找不到要更改的页面,所有错误都是为了那个。非常感谢 Emre 对我的帮助。

【讨论】:

  • 哪里少了','?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 2013-06-07
  • 1970-01-01
  • 2014-11-13
  • 2017-09-30
  • 2010-12-11
  • 2012-08-04
相关资源
最近更新 更多