JS:将变量附加到URL而不重复

时间:2012-10-23 07:57:53

标签: javascript jquery append

  

可能重复:
  Change URL parameters with jQuery?

目前,我有一个<div>标记看起来像一个按钮,并使用onClick函数更改网址,该功能会重定向到同一页面,只需将&view_all=Yes&view_all=No添加到网址即可。

<div onclick="javascript:window.location.href = 'page.php?action=list-volunteer-apps&view-all=No';">Hide Closed Applications</div>

好吧,我正在为网站添加一项新功能,我需要能够将&view_all=Yes&view_all=No附加到网址的末尾而不是重定向,因为我还有其他功能URL中我不能丢失的变量。

我找到了一种方法来执行追加,但它会不断将&view_all变量添加到网址的末尾,因此它看起来像page.php?action=list-volunteer-apps&view-all=No&view_all=Yes&view_all=No

这是我做追加的方式: onclick="javascript:window.location.assign(window.location.href+='&view-all=No');"

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式替换字符串中的值:

$(this).attr("onclick", function(i, val) {
    return val.replace(/view-all=(Yes|No)/, function() {
        return "view-all=" + ((arguments[1] || "") == "Yes" ? "No" : "Yes");
    });
});