web-dev-qa-db-fra.com

Jquery mobile page de changement

Je dispose de deux colonnes pour une page Web du site, http://jquerymobile.com/demos/1.0.1/

Maintenant, ils ont prévu des dispositions pour changerPage en utilisant <a href="#xxx" data-role="button">Sample</a>

Mais ma question est de savoir comment modifier par programme la page à l'aide de code.

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

25
siva

Voici un exemple simple et réel 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
});

METTRE &AGRAVE; JOUR

Comme Chase Roberts le souligne dans les commentaires ci-dessous, cette méthode changePage est obsolète dans la version 1.4. Voici la documentation pour le nouveau pagecontainer change event.

Exemple:

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

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

51
shanabus

Je sais que la réponse à cette question a déjà été donnée, mais la bonne réponse à cette question est que la syntaxe est incorrecte.

$ .mobile.changePage nécessite l’objet DOM (pour l’affichage des pages du même fichier HTML à l’aide de la syntaxe de hachage) et pas seulement une chaîne. Donc, la syntaxe correcte pour l'exemple donné serait:

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

Cela devrait fonctionner un régal!

J'espère que cela t'aides

6
Polecat Harris
$.mobile.changePage($("#page2")); 

est le bon moyen de changer entre quelle div est la page visible. 

Si tu utilises 

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

Le DOM sera rechargé et tous les événements non documentés seront déclenchés.

4
mmcconkie

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

1
Scorpy86

Vous commencez par vérifier les balises de début et de fin du bloc div bcoz parfois si une balise manque, la transition de page est impossible . Après cela, utilisez le code suivant

$.mobile.changePage("#page2");
1
Hemant Dubey
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 de connexion et je vais à la page des comptes si la connexion est réussie. Cela fonctionne avec Jquery mobile 1.4.

J'espère que cela pourra aider.

0
Rajat_R