Ho un menu a discesa di selezione con l'ID mappato ai valori. Sull'evento onChange voglio reindirizzare allo stesso url ma con 'id = value' aggiunto a querystring.Come usare jquery per manipolare la querystring
Come faccio a controllare che questa opzione 'id' non sia già nella querystring (non voglio più valori) e sostituirla/aggiungerla se necessario.
Come si verifica se '?' è già in querystring e si aggiunge all'URL se non lo è.
C'è un modo semplice con jquery per fare questo?
Deve fare qualcosa di simile sotto il cofano per le chiamate $().ajax(url, {options})
. Speravo di poter fare solo $().redirect(url, { id : $(this).val() })
o somesuch.
Grazie in anticipo.
Nota: in questa pagina è possibile che siano passate o meno alcune opzioni di query diverse (che impostano i valori predefiniti su altre opzioni del modulo), pertanto la sostituzione dell'intera query querys non è un'opzione.
<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>
possibile duplicato del [querystring codifica di un oggetto JavaScript] (http: // StackOverflow. it/questions/1714786/querystring-encoding-of-a-javascript-object) –