phonegap + jqmobile:如何正确更改页面

时间:2014-05-10 09:23:51

标签: javascript android jquery-mobile cordova

我正在使用cordova + Ripple模拟器+ jq mobile开发Android应用程序。我想在成功登录后更改页面。主要(也是唯一)页面的HTML:

 <div data-role="page" id="login">

        <div data-role="header">
            <h1>
                Вход
            </h1>
        </div>

        <div class="ui-content">
            <div id="loginFlashMsg">

            </div>

            <form id="loginFrm">
                <div>
                    <label for="loginInptTxt">Ваш логин:</label>
                    <input type="text" id="loginInptTxt" />
                </div>

                <div>
                    <label for="pswInptTxt">Пароль:</label>
                    <input type="password" id="pswInptTxt" />
                </div>

                <button id="loginBtn">
                    Войти
                </button>
            </form>
        </div>

    </div>

    <div data-role="page" id="lots">
        <div data-role="header">
            <h1>
                Лоты
            </h1>
        </div>

        <div class="ui-content">

            <ul data-role="listview" id="lotsList">

            </ul>

        </div>
    </div>

在json-authorization之后我想改变页面:

App.prototype.ProcessResponse = function (response, textStatus, jqXHR) {
if (response['status'] != 'ok') {
    this.notifyAboutError(response['status']);
} else {
    switch (response['action']) {
        case 'login':
            this.user = new User($('#loginInptTxt').val(), response['sid']);
            $.mobile.changePage("#lots");
            break;
        case 'getLots':
            this.appendLots(response['lots']);
    }
}

};

但它不起作用。我知道,不推荐使用changePage()。我尝试使用

$(":mobile-pagecontainer").pagecontainer("change", "$lots");

但一切都还是一样 - 没什么。提取到另一个html页面没有任何效果。如何在我的Android应用程序中切换页面?

P.S。我能做到的最好的就是我看到了大量页面和文字的标题&#34; loading&#34;之后它会在第二次之后消失。

1 个答案:

答案 0 :(得分:1)

$.mobile.changePage("#id");

的工作原理。没有问题,显示的网站会更改为另一个页面ID。 如果你想要一个奇特的过渡用途,例如

$.mobile.changePage("#id", {transition:"slide"});

像魅力一样工作:)当然,您也可以导航到新页面,只需使用它而不用#&#39;。