webentwicklung-frage-antwort-db.com.de

Jquery mobile Änderungsseite

Ich habe ein zweispaltiges Layout für eine Webseite von der Site http://jquerymobile.com/demos/1.0.1/

Jetzt haben sie Bestimmungen für changePage mit <a href="#xxx" data-role="button">Sample</a> bereitgestellt.

Aber meine Frage ist, wie man die Seite programmgesteuert mit Code ändert.

$.mobile.changePage("#xxx"); arbeitet für mich nicht 

25
siva

Hier ist ein wirklich einfaches Beispiel für Sie: http://jsfiddle.net/shanabus/YjsPD/

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

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

Andere Beispiele:

//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
});

UPDATE

Wie Chase Roberts in den Kommentaren unten feststellt, wurde diese changePage-Methode in Version 1.4 nicht mehr unterstützt. Hier ist die Dokumentation für das neue pagecontainer change event.

Beispiel:

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

Dies wurde auch in dieser SO - Frage behandelt: Wie ändere ich die Seite in jQuery mobile (1.4 beta)?

51
shanabus

Ich weiß, dass dies bereits beantwortet wurde, aber die richtige Antwort, warum es nicht funktioniert hat, ist, dass die Syntax falsch ist?

$ .mobile.changePage erfordert das DOM-Objekt (zum Anzeigen von Seiten innerhalb derselben HTML-Datei mit der Hash-Syntax) und nicht nur eine Zeichenfolge. Die korrekte Syntax für das gegebene Beispiel wäre also:

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

Das sollte ein Genuss sein!

Hoffe das hilft

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

ist der richtige Weg, um zu wechseln, zwischen welchem ​​div die sichtbare Seite ist. 

Wenn du benutzt 

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

Das DOM wird neu geladen und alle ondocumentready -Ereignisse werden ausgelöst.

4
mmcconkie

Nein, dies ist die korrekte Syntax $.mobile.changePage("#page2"); oder $.mobile.changePage( "about/us.html");, siehe Api

1
Scorpy86

Zuerst überprüfen Sie das Start- und End-Tag des Div-Blocks bcoz, wenn ein Tag fehlt, der Seitenübergang ist nicht möglich

$.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);
        }
    });

}

Mit dem obigen Code bin ich auf der Anmeldeseite und gehe bei der erfolgreichen Anmeldung zur Kontoseite. Dies funktioniert mit Jquery Mobile 1.4.

Hoffentlich hilft das.

0
Rajat_R