これを正確に実行する関数を作成しました。現在のページをリロードし、既存の 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;
}
}