Ich habe eine Auswahl Drop-Down mit ID auf Werte zugeordnet. Auf dem OnChange-Ereignis möchte ich auf die gleiche URL aber mit "ID = Wert" an die Querystring angehängt werden.Wie benutze ich jquery, um die Querystring zu manipulieren
Wie überprüfe ich, ob diese ID-Option nicht bereits in der Querystring (ich will nicht mehrere Werte) und Ersetzen/Append wie nötig.
Wie überprüfe ich, ob '?' ist bereits in der Querystring und an die URL anhängen, wenn es nicht ist.
Gibt es einen einfachen Weg mit jquery, dies zu tun?
Es muss etwas ähnliches unter der Haube für $().ajax(url, {options})
Aufrufe. Ich hatte gehofft, ich könnte einfach tun $().redirect(url, { id : $(this).val() })
oder Somesuch.
Vielen Dank im Voraus.
Hinweis: Diese Seite kann einige verschiedene Abfrageoptionen enthalten (oder nicht) (die Standardwerte für andere Formularoptionen festlegen). Daher ist das Ersetzen der gesamten Abfragezeichenfolge keine Option.
<html>
<head><script type="text/javascript" src="/jquery-1.3.2.min.js"></script></head>
<body>
<script>
$(function(){
$('#selector').change(function(){
// problem if 'id' option already exists
var url = location.href + '?;id=' + $(this).val();
location.assign(url);
});
});
</script>
<a href="#" onclick="location.assign(location.pathname)">reset</a>
<form>
<select id='selector' name='id'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3'>three</option>
</select>
</form>
</body>
</html>
möglich Duplikat [Abfragezeichenkodierung eines Javascript-Objekt] (http: // Stackoverflow. com/questions/1714786/querystring-encoding-of-a-javascript-objekt) –