Doing it without jQuery:
Create window.location.getParameter() function (see here from Anatoly Mironov) then:
<select name='elements' id='elements' onChange='window.location="yoururl.html?elements=" + this.selectedIndex;'>
   <option value='water'>Water</option>
   <option value='fire'>Fire</option>
   <option value='air'>Air</option>
</select>
<script type="text/javascript">
  els = document.getElementById('elements');
  selIndex = window.location.getParameter('elements') || 0;
  els[selIndex].selected = true;
</script>
For ease of reference, I reproduce Anatoly's excellent .getParameter function below:
window.location.getParameter = function(key) {
    function parseParams() {
        var params = {},
            e,
            a = /\+/g,  // Regex for replacing addition symbol with a space
            r = /([^&=]+)=?([^&]*)/g,
            d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
            q = window.location.search.substring(1);
        while (e = r.exec(q))
            params[d(e[1])] = d(e[2]);
        return params;
    }
    if (!this.queryStringParams)
        this.queryStringParams = parseParams(); 
    return this.queryStringParams[key];
};