2010-07-16 web javascript
Данная функция изменяет get параметр в адресной строке, при этом на серверной стороне не нужно делать построение/суммирование get параметров и т.п. Её удобно использовать когда на странице есть несколько изменяемых параметров.
function setAttr(prmName,val){
var res = '';
var d = location.href.split("#")[0].split("?");
var base = d[0];
var query = d[1];
if(query) {
var params = query.split("&");
for(var i = 0; i < params.length; i++) {
var keyval = params[i].split("=");
if(keyval[0] != prmName) {
res += params[i] + '&';
}
}
}
res += prmName + '=' + val;
window.location.href = base + '?' + res;
return false;
}
<a href="#" onclick="return setAttr('sort','name')">Сортировка по Имени</a>