Установите значение URL в вашей функции .change()
. Это заменит текущий URL-хэш каждый раз:
var urlArgs = $(".filterControl:visible").map(function()
{
return this.id + "=" + $(this).val();
}).get().join("&");
location.href = "#" + urlArgs;
Затем, при загрузке, разобрать хеш:
$(function()
{
$.each(location.hash.replace(/\#/, "").split("&"), function(filterArg)
{
var parts = filterArg.split("=");
$("#" + parts[0]).val(parts[1]);
});
});
Кстати, этот код предполагает класс filterControl
для каждого <select>
для удобства их выбора. Вы можете, конечно, использовать любой метод, который вам нравится, чтобы выбрать их.