我寫的正是這一點,它重新加載當前頁面的功能,並具有改變現有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 –