Ändern Sie die URL-Parameter
Habe ich diese URL:
site.fwx?position=1&archiveid=5000&columns=5&rows=20&sorting=ModifiedTimeAsc
was ich brauchen, ist in der Lage, ändern Sie die 'Zeilen' url param value zu etwas, das ich angeben, sagen wir 10. Und wenn die 'Zeilen' nicht existiert, werde ich es hinzufügen müssen, um das Ende der url, und fügen Sie den Wert habe ich bereits angegeben (10).
InformationsquelleAutor der Frage Sindre Sorhus | 2009-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie wollen die query plugin.
E. g.:
Dies funktioniert unabhängig vom aktuellen Zustand der Zeilen.
InformationsquelleAutor der Antwort Matthew Flaschen
Habe ich verlängert Sujoy code, um eine Funktion.
Funktion Ruft:
Aktualisierten version, die auch kümmern sich um den Anker in der URL.
InformationsquelleAutor der Antwort Adil Malik
Ben Alman hat eine gute jquery querystring/url plugin hier , ermöglicht Ihnen, zu manipulieren den querystring einfach.
Gewünschten
Goto seine test-Seite hier
In firebug geben Sie Folgendes in die Konsole
jQuery.param.querystring(window.location.href, 'a=3&newValue=100');
Wird es wieder Sie, die folgenden geänderten url-Zeichenfolge
Beachten Sie die querystring-Wert für einen hat sich von X auf 3 und hat den neuen Wert.
Dann können Sie die neue url-Zeichenfolge, aber Sie wollen e.g
Verwendung document.location = newUrl, oder ändern Sie einen Anker-link etc
InformationsquelleAutor der Antwort redsquare
Beantwortung meiner eigenen Frage, 4 Jahre später, nachdem er eine Menge gelernt. Vor allem, sollten Sie nicht verwenden jQuery für alles. Ich habe ein einfaches Modul, das Parsen kann/stringify ein query-string. Dies macht es einfach, ändern Sie die Abfrage-string.
Können Sie Abfragezeichenfolge wie folgt:
InformationsquelleAutor der Antwort Sindre Sorhus
Kleine, schnelle Lösung in reinem js, keine plugins benötigt:
Nennen mag:
Oder, wenn Sie wollen, bleiben Sie auf derselben Seite, und ersetzen Sie mehrere params:
Bearbeiten, Dank Luke: entfernen Sie den parameter komplett, pass
false
odernull
für den Wert:replaceQueryParam('rows', false, params)
. Da0
ist auch falsygeben Sie'0'
.InformationsquelleAutor der Antwort bronson
können Sie über die normale JS auch
InformationsquelleAutor der Antwort Posto
Ein moderner Ansatz ist die Verwendung einheitlichen standard auf der Basis URLSearchParams. Für ältere browser gibt es polyfills verfügbar
InformationsquelleAutor der Antwort Alister Norris
Wäre eine gangbare alternative zur String-manipulation werden, die für das einrichten einer html -
form
und ändern Sie einfach den Wert derrows
element?So, mit
html
dass ist so etwas wieMit dem folgenden JavaScript-Code zum senden des Formulars
Wahrscheinlich nicht geeignet für alle Situationen, aber könnte schöner sein als das Parsen der URL-Zeichenfolge.
InformationsquelleAutor der Antwort Harry Lime
Dieser Nutzung können Sie "meine Bibliothek", um den job tun: https://github.com/Mikhus/jsurl
InformationsquelleAutor der Antwort Mikhus
Schrieb ich eine kleine Helfer-Funktion, die funktioniert mit jedem wählen. Alles, was Sie tun müssen, ist fügen Sie die Klasse "redirectOnChange", um eine select-element, und dadurch wird die Seite neu zu laden mit einer neuen/geänderten querystring-parameter, gleich die id und der Wert von select, e.g:
Obigen Beispiel würde hinzufügen "?myValue=222" oder "?myValue=333" (oder durch "&", wenn andere Parameter existieren), und die Seite neu laden.
jQuery:
InformationsquelleAutor der Antwort Paul Grimshaw
Hier habe ich genommen Adil Malik Antwort und fixierte den 3 Themen, die ich mit ihm identifiziert.
InformationsquelleAutor der Antwort Jonathan Aquino
Weitere Variante Sujoy Antwort. Nur verändert die Variablen-Namen & hinzu kommt eine wrapper-namespace:
Verbrauch ist jetzt:
InformationsquelleAutor der Antwort Appetere
Ich habe auch geschrieben Bibliothek für das abrufen und festlegen der URL-query-Parameter in JavaScript.
Hier ist ein Beispiel für die Verwendung.
Get-query params-Objekt als ein Objekt, durch Schlüssel oder hinzufügen/ändern/entfernen.
InformationsquelleAutor der Antwort rb-
Hier ist, was ich Tue. Mit meinem editParams () - Funktion können Sie hinzufügen, entfernen oder ändern Sie keine parameter, dann verwenden Sie die integrierte in replaceState () - Funktion zum aktualisieren der URL:
InformationsquelleAutor der Antwort Bobb Fwed
Ich war auf der Suche für die gleiche Sache und gefunden: https://github.com/medialize/URI.js was ganz nett ist 🙂
-- Update
Fand ich eine bessere Paket: https://www.npmjs.org/package/qs es befasst sich auch mit arrays in get-Parametern.
InformationsquelleAutor der Antwort Chris
Ich weiß, das ist eine alte Frage. Ich habe verstärkt die obige Funktion zum hinzufügen oder aktualisieren query params. Noch eine Reine JS-Lösung nur.
InformationsquelleAutor der Antwort user3799810
meine Funktion Unterstützung entfernen param
InformationsquelleAutor der Antwort lossy11
Dies ist die moderne Art todo:
InformationsquelleAutor der Antwort TjerkW