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
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)?
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
$.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.
Non, c’est la syntaxe correcte $.mobile.changePage("#page2");
ou $.mobile.changePage( "about/us.html");
voir l’API
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");
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.