javascript - 更新或附加 URL 参数而不是替换整个 URL

标签 javascript php html

我正在尝试建立一个周日历。目前,日历具有前向和后向链接,可通过使用 ?date= 构建新 URL 来工作。追加到最后。示例:

<a href="<?php get_current_url() ?>/?date=2014-07-23">Next week</a>
<a href="<?php get_current_url() ?>/?date=2014-07-09">Prev week</a>

我还想在日历中添加一个过滤器,只允许某些事件类型显示在日历上。我使用 GET 方法想出了以下内容:

<form method="GET" action="">
  <select name="type">
    <option selected disabled value=''>Type</option>
    // event option stuff
  </select>
  <input type="submit" value="submit">
</form>

提交后,此表单只需使用 ?type=<something> 重建一个新 URL添加到最后。如果 URL 已有日期参数,我的表单将忽略它。例如:

http://www.example.com/?date=2014-07-16

变成:

http://www.example.com/?type=dinner-date

同样,周导航会忽略过滤器。

有没有一种简单的方法可以让过滤器和导航链接一起工作?

例如,如果 ?date=已经存在,则 &type=附加到 URL 后。如果一个或两个参数已存在,则只需更新这些值即可。

最佳答案

我假设您可以使用 jQuery:

<form method="GET" action="http://www.example.com">
    <input type="hidden" name="date" id="date" value="<?php echo date;?>" />
    <select name="type">
        <option selected disabled value=''>Type</option>
        <!-- event option stuff -->
    </select>
    <input type="submit" value="submit" onclick="buildLink($('#date').val());">
    <br>
    <input type=button onclick="buildLink('2014-07-23');" value="Next week" />
    <input type=button onclick="buildLink('2014-07-09');" value="Prev week" />
</form>

然后这是一个简单的 Javascript 函数,用于提交表单,并且根据您的选择,表单中的日期会在提交之前更改:

function buildLink(date) {
    $('#date').val(date);
    $('form').submit();
}

关于javascript - 更新或附加 URL 参数而不是替换整个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789111/

相关文章:

javascript - 下拉列表不在 jQuery 中为 .slideDown() 设置动画

javascript - 如何解决【Vue警告】: props must be strings when using array syntax?

php - 错误 : Class must be declared abstract or implement the remaining methods

javascript - Phone Gap 是否能够将 php web 应用程序转换为 iphone/android 应用程序?

javascript - 当焦点位于表单中的最后一个输入时自动添加行

javascript - 尝试在使用 jQuery 提交内容时显示消息框

javascript - 我的带有对象和方法的 JavaScript 代码无法正常工作

php - 贝哈特 3 : How to get profile name inside FeatureContext

php - MYSQL PHP Where查询错误

javascript - 如何动态统计div显示 block ?