我写的正是这一点,它重新加载当前页面的功能,并具有改变现有URL变量完全支持(以及添加新的)。你所要做的就是将一个对象文字传给该函数。在这里看到:https://stackoverflow.com/a/10235376/733347
在你的情况下,所有你需要做的就是调用该功能使
reloadWithQueryStringVars({"type": "all"});
或
reloadWithQueryStringVars({"type": "confirmed"});
或
reloadWithQueryStringVars({"type": "unconfirmed"});
的点击你的按钮事件
下面是引用整个功能:
function reloadWithQueryStringVars (queryStringVars) {
var existingQueryVars = location.search ? location.search.substring(1).split("&") : [],
currentUrl = location.search ? location.href.replace(location.search,"") : location.href,
newQueryVars = {},
newUrl = currentUrl + "?";
if(existingQueryVars.length > 0) {
for (var i = 0; i < existingQueryVars.length; i++) {
var pair = existingQueryVars[i].split("=");
newQueryVars[pair[0]] = pair[1];
}
}
if(queryStringVars) {
for (var queryStringVar in queryStringVars) {
newQueryVars[queryStringVar] = queryStringVars[queryStringVar];
}
}
if(newQueryVars) {
for (var newQueryVar in newQueryVars) {
newUrl += newQueryVar + "=" + newQueryVars[newQueryVar] + "&";
}
newUrl = newUrl.substring(0, newUrl.length-1);
window.location.href = newUrl;
} else {
window.location.href = location.href;
}
}
你希望能够只改变参数?像类型 –
我只需要更改“交易”后的字符串,所以例如当我点击“所有”按钮时,它变成“transactions?type = all”,但当我点击确认按钮时,它变成“transactions?type =确认“ –
http://stackoverflow.com/a/10235376/733347 –