【问题标题】:Increment query string parameters using jquery function on button click在按钮单击时使用 jquery 函数增加查询字符串参数
【发布时间】:2014-01-19 18:07:05
【问题描述】:

我正在制作一个下一页系统,您可以在其中单击“下一步”,它会将您带到下一组元素。

这是php中的按钮:

    <input id="nextbtn" type="button" value="Next"></input>

这是jquery函数:

$('#nextbtn').click(function(){

});

网址是:www.domain.com?var1=0&amp;var2=20

每次单击“下一步”按钮时,我想将 var1var2 增加 20。 请告诉我应该在 jquery 函数中编写的代码,这样才能正常工作。

【问题讨论】:

  • jQuery 不是必需的。您可以使用 PHP($_GET 数组)检索这些值,并据此计算下一个 URL。
  • 考虑到您提到您使用的是 PHP,您甚至根本不需要在 JavaScript 中进行此计算,而是在 PHP 中进行。
  • 你是对的,但是点击按钮时 url 会改变,页面会刷新,变量 $var1 = $_GET['var1'] 会得到新的值。我需要知道如何在单击按钮时更改查询字符串。

标签: javascript jquery query-string


【解决方案1】:

可以获取查询字符串当前值:

function getQueryStringParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

现在在您的下一个按钮单击中调用此函数并添加增量值:

var var1 = parseInt(getQueryStringParameterByName('var1'),10)+20;
var var2 = parseInt(getQueryStringParameterByName('var2'),10)+20;

并将其设置为 url 和重定向。

【讨论】:

  • ok,变量var1和var2要放在click函数中。由于我的页面也由 php 组成,所以我在哪里放置函数 getQueryStringParameterByName(name)?
  • 成功了。要在 url 中设置变量,我使用了:var hrf="www.domain.com/x.php?var1=" + var1 + "&amp;var2=" +var2; document.getElementById("a_link1").href=hrf;
  • 如果域既可以是http又可以是https
猜你喜欢
  • 2012-01-28
  • 2011-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-12
  • 2020-08-29
  • 1970-01-01
相关资源
最近更新 更多