javascript - 如何在更改选择选项时添加/更新 url 参数?

标签 javascript jquery

我有 1 select 选项框,因为我有 3 个选项,如果用户选择任何选项,则应在 url 中附加该选项的特定值,如(value=needbyDate) & 当我选择另一个选项时,无论之前选择的 url 中存在什么选项值,它都应该被新的选项值替换。请帮忙。目前,在我的代码中,所有值都被一个接一个地附加,但根据预期,一次只应附加一个值。

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $("#optionbox1").change(function() {
        var optionValue = $(this).val();
        if (window.location.href.indexOf("?") > 0) {
          window.location += "options added=" + optionValue;
        } else {
          window.location += "?options added=" + optionValue;
        }
      });
    </script>
  </head>
  <body>
    <select id="optionbox1">
      <option value="needbyDate">needbyDate</option>
      <option value="needbyNumber">needbyNumber</option>
      <option value="needbyPOnumber">needbyPOnumber</option>
    </select>
  </body>
</html>

最佳答案

您可以使用 ? 拆分url,并使用第一个索引中的字符串:

$("#optionbox1").change(function() {
    var optionValue = $(this).val();
    var url = window.location.href.split("?")[0];
    if (window.location.href.indexOf("?") > 0) {
      window.location = url + "options added=" + optionValue;
    } else {
      window.location = url + "?options added=" + optionValue;
    }
});

关于javascript - 如何在更改选择选项时添加/更新 url 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57025923/

相关文章:

ajax - 每 X 分钟调用 jQuery Ajax 请求

javascript - 如何等待(追加)完成然后显示结果 javascript/jquery

javascript - 在 Bootstrap 日期时间选择器中更改 meridiem (am pm) 的文本

c# - 解码查询参数值中带有特殊和或 + 字符的 Url

javascript - php 返回表后移动一个值

javascript - `text` 方法在某些情况下删除单词之间的空格

javascript - 将 curl 查询转换为 jQuery.ajax()

javascript - 如何保存javascript所做的内容更改

javascript - 您可以将多个文件缩小为一个文件吗?

javascript - 用 JavaScript 写一个更好的 IF return 语句