0

可能重复:
使用 jQuery 更改 URL 参数?

目前,我有一个<div>看起来像按钮的标签,并使用 onClick 函数更改 URL,该函数重定向到仅添加 &view_all=Yes或添加&view_all=No到 URL 的同一页面。

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

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

我想出了一种方法来进行追加,但它不断将&view_all变量添加到 URL 的末尾,所以它看起来像这样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');"

4

1 回答 1

0

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

$(this).attr("onclick", function(i, val) {
    return val.replace(/view-all=(Yes|No)/, function() {
        return "view-all=" + ((arguments[1] || "") == "Yes" ? "No" : "Yes");
    });
});
于 2012-10-23T08:16:53.583 回答