我的网址如下:
/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?prodid=30811
我想在问号之前添加一个参数,以便网址如下所示:
/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?param=prodlist&prodid=30811
今天我使用的脚本在每次点击时在两个参数之间切换 - 我想改变它,所以我有三个按钮,每个按钮只给网址一个参数,每个按钮应该用自己的值替换参数。
我现在用来切换参数的脚本:
$('.click3').on('click', function() {
console.log("Clicked");
var baseUrl = window.location.href.split("?")[0];
var prodid = getParametersByName("prodid");
var params = getParametersByName("param");
if (params == "prodlist")
param = "grid";
else
param = "prodlist";
var newUrl = baseUrl + "?param=" + param;
if ((prodid).length > 0)
newUrl = newUrl + "&prodid=" + prodid;
window.location.href = newUrl;
function getParametersByName(name) {
name = name.replace(/[[]/, "\[").replace(/[]]/, "\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
});
基本上我想要这样的东西,但不是在url之后添加值 - 我希望它在参数已经到位之前。
$('.click3').on('click', function() {
console.log("click3 Clicked");
var url = window.location.href;
url = url.replace(/\?param=.*/,'') + '?param=grid';
window.location.href = url;
});