Jquery mobile de changement de page

j'ai la disposition de deux colonnes pour une page Web à partir du site, http://jquerymobile.com/demos/1.0.1 /

maintenant, ils ont fourni des dispositions pour changer la page en utilisant <a href="#xxx" data-role="button">Sample</a>

mais ma question Est de savoir comment programmer la page en utilisant le code.

$.mobile.changePage("#xxx"); ne fonctionne pas pour moi

25
demandé sur Cœur 2012-03-16 18:18:44

6 réponses

voici un exemple très simple pour vous: http://jsfiddle.net/shanabus/YjsPD /

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

Documentation: http://api.jquerymobile.com/jQuery.mobile.changePage /

autres exemples:

//transition to the "about us" page with a slideup transition
$.mobile.changePage( "about/us.html", { transition: "slideup"} );

//transition to the "search results" page, using data from a form with an ID of "search""   
$.mobile.changePage( "searchresults.php", {
    type: "post",
    data: $("form#search").serialize()
});

//transition to the "confirm" page with a "pop" transition without tracking it in history   
$.mobile.changePage( "../alerts/confirm.html", {
    transition: "pop",
    reverse: false,
    changeHash: false
});

mise à JOUR

comme le souligne Chase Roberts dans les commentaires ci-dessous, cette méthode changePage a été dépréciée en la version 1.4. Voici la documentation pour le nouvel événement pagecontainer change .

exemple:

$.mobile.pageContainer.pagecontainer("change", "#page", { options });

cela a également été abordé sur cette question SO: Comment changer la page dans jQuery mobile (1.4 beta)?

51
répondu shanabus 2017-05-23 10:29:40

je sais que cela a déjà été répondu, mais sûrement la bonne réponse pourquoi cela ne fonctionnait pas est que la syntaxe est incorrecte ?

$.mobile.changePage nécessite L'objet DOM (pour afficher des pages dans le même fichier HTML en utilisant la syntaxe de hachage) et pas seulement une chaîne de caractères. Donc la syntaxe correcte pour l'exemple donné:

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

ça devrait marcher!

Espérons que cette aide

6
répondu Polecat Harris 2012-12-13 08:43:23
$.mobile.changePage($("#page2")); 

est la façon correcte de changer entre lequel div est la page visible.

si vous utilisez

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

le DOM sera rechargé, et tout événement ondocumentready sera déclenché.

4
répondu mmcconkie 2015-09-16 08:58:26

Non, c'est la syntaxe correcte $.mobile.changePage("#page2"); ou $.mobile.changePage( "about/us.html"); voir l'Api

1
répondu Scorpy86 2013-02-08 14:17:08

vous vérifiez d'abord le bloc div start et end tag bcoz parfois si une étiquette est manquante la transition de page n'est pas possible. Après cela, utilisez le code suivant

$.mobile.changePage("#page2");
1
répondu Hemant Dubey 2013-12-12 10:44:03
function signin() {

    alert('singin button has been clicked');
    $.ajax({
        type: 'POST',
        url: 'http://localhost:8080/json/login',
        dataType: "json",
        headers: {'Authorization':'Basic '+ btoa('abc' + ':' + '12345')},
        contentType: 'application/json',
        data:loginFormToJSON(),
        success: function(data, textStatus, jqXHR)
        {
            if(data.token !="ErrorID-11000"){
                alert('login successfully');
                //document.location.href = "accountinfo.html";
                //document.getElementById("loginBtn").replace="accountinfo.html";
                $.mobile.changePage("accountinfo.html");
            }

            else{
                alert('userid password did not match');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('login error:'+errorThrown + textStatus);
        }
    });

}

à partir du code ci-dessus, je suis dans la page d'inscription et aller à la page des comptes sur la connexion réussie, cela fonctionne avec Jquery mobile 1.4.

Espère que ça aide.

0
répondu Rajat_R 2014-06-11 06:21:29