jQuery Mobile从新的html加载第二页

时间:2012-03-16 10:11:00

标签: javascript html jquery-mobile

说我想加载一个新的html文件,包含一些jQuery页面,如下所示:

$.mobile.changePage("some_page.html");

如果这个html文件里面有两个页面,我该如何加载不是第一页,而是加载第二页? 我试过

$.mobile.changePage("some_page.html#second_page_id");

但它不起作用。 感谢

4 个答案:

答案 0 :(得分:0)

$.mobile.changePage()函数将第一个div带到data-role="page"并通过AJAX调用将其加载到dom中。最好的解决方案是将第二页移动到html代码的顶部。

否则,如果您想决定加载第一页或第二页,可以将它们放在不同的文件中。

也许有办法调用第二页,但我不知道如何实现这一目标。

答案 1 :(得分:0)

Dude尝试将您的第二个页面元素data-url设为<div data-url="page.html&subpageidentifier">  在目标html页面中。让我知道这真的对你有用。

答案 2 :(得分:0)

您可以手动抓取所需的元素:

//delegate the event binding for some link(s)
$(document).delegate('a.my-link', 'click', function () {

    //show the loading spinner
    $.mobile.showPageLoadingMsg();

    //make the AJAX request for the link's href attribute
    $.ajax({
        url     : this.href,
        success : function (serverResponse) {

            //get the data-role="page" elements out of the server response
            var $elements = $(serverResponse).find('[data-role="page"]');

            //you can now access each `data-role="page` element in the `$elements` object
            $elements.filter('#page-id').appendTo('body');

            //now use changePage to navigate to the newly added page
            $.mobile.changePage($('#page-id'), { /*options*/ });

            //hide the loading spinner
            $.mobile.hidePageLoadingMsg();
        },
        error   : function (jqXHR, textStatus, errorThrown) { /*Don't forget to handler errors*/ }
    });

    //stop the default behavior of the link, also stop the event from bubbling
    return false;
});

但我不得不说,通过jQuery Mobile目前的工作方式,您最好将每个data-role="page"元素放在单独的文档中。

答案 3 :(得分:0)

ทำแบบนี้ครับ

<a href="../index.php#two" data-ajax="false" data-transition="fade" data-role="button" data-theme="e" name="out">ออก</a>

数据-ajax =“false”
คุณก็จะchangepageได้จากต่างหน้า