【问题标题】:Changing multiple url parameters with jquery onclick使用 jquery onclick 更改多个 url 参数
【发布时间】:2011-12-23 20:47:02
【问题描述】:

好的,我在url中有四个参数

xxx.html?p1=something&p2=else&p3=here&p4=too

对于每个 p 参数,我有五个不同的选项。现在我需要使用点击事件更改每个参数。

我不能使用普通的href,因为有四个不同的独立变量。所以我需要 jquery 来搜索正确的参数并通过点击相应地更改它

谢谢大家!

【问题讨论】:

标签: jquery url parameter-passing


【解决方案1】:

有了这个jQuery plugin,你可以这样做:

window.location.search = jQuery.query.set("p2", "something");

我希望这会有所帮助。

【讨论】:

  • 太棒了!虽然现在我想在点击功能中实现的所有其他东西都不起作用,因为页面被重新加载
  • 有一个解决方案,但是要获得完整的答案,请说明您的目标是什么,并在此处放置完整的代码/示例..
  • $("ul.p2 li").click(function() { var selected = $(this).text(); $("input#hidden2").val(selected); $(".info").html(selected); $(this).siblings().removeClass('selected'); $(this).addClass('selected').nextAll().addClass('selected'); window.location.search = jQuery.query.set("com", selected); });这种事
  • 好吧,这么说吧:你想重写浏览器 URL 而不刷新?如果您仅更改哈希,它不会重新加载页面 - 但如果您更改 URL 中的任何其他内容,它将重新加载页面 - 您不想要的。因此,您可以使用window.location.hash 并在不刷新的情况下更改参数,或者您可以将所有参数存储为 JavaScript 变量,然后将它们放入 URL 字符串中。有关更多信息,请参阅:goo.gl/ehQmY 和相关问题。
  • 既然我只需要为 Facebook 分享按钮构建这些参数,有没有办法查询这些参数以获取某个 var,然后输出到 Facebook 分享功能?我的意思是重新加载闪烁正在杀死我......
【解决方案2】:

首先,我怀疑您希望这是一个表单而不是链接,并且您的属性是隐藏字段。

实现将要求您将事件附加到点击事件。

<a href="#" class="link" onclick="return false;">Click here</a>

$(".link").click(function(){
   p1_value = $(".p1_input").val(); // Or wherever the value is coming from...
   p2_value = $(".p2_input").val();
   url = "xxx.html?p1=" + p1_value + "&p2=" + p2_value;
   window.location = url;
})

您可能希望使用另一个库来构建 URL,因为存在许多边缘情况。

【讨论】:

    猜你喜欢
    • 2013-12-26
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多