Aspetta, non avevo capito qual era il tuo problema…
Devi mettere una funzione nell'onload che legga il window.location.search e imposti la select di conseguenza. Prova così. Metti questo nell'head:
codice:
<script type="text/javascript">
var oGetVars = new (function(sSearchStr) {
function buildValue(sValue) {
if (/^\s*$/.test(sValue)) { return(null); }
if (/^(true|false)$/i.test(sValue)) { return(sValue.toLowerCase() === "true"); }
if (isFinite(sValue)) { return(parseFloat(sValue)); }
if (isFinite(Date.parse(sValue))) { return(new Date(sValue)); }
return(sValue);
}
if (sSearchStr.length > 1) {
var iCouple, aCouples = sSearchStr.substr(1).split("&");
for (var iCouplId = 0; iCouplId < aCouples.length; iCouplId++) {
iCouple = aCouples[iCouplId].split("=");
this[unescape(iCouple[0])] = iCouple.length > 1 ? buildValue(unescape(iCouple[1])) : null;
}
}
})(window.location.search);
window.onload = function() { document.getElementById("cities").selectedIndex = oGetVars.id; };
</script>
Dopodiché la tua select impostala così:
codice:
<form class="form" action="java-script:update();">
<select name="cities" id="cities" onchange = "update(); location.search = '?id=' + this.selectedIndex;">
<option value = "Bologna">Bologna</option>
<option value = "Milano">Milano</option>
<option value = "Roma">Roma</option>
</select>
</form>
Scusa, è che non avevo proprio capito…