javascript - 如何使用 jQuery 和复选框添加 url 参数末尾?

标签 javascript jquery url checkbox

我想创建用于搜索的复选框过滤器。
例如,我搜索sunglass。结果页面,太阳镜来自所有品牌,搜索网址为:
http://www.my-site.com/?s=sunglass

当我检查 Rayban 时,我想在此网址末尾添加一些参数,例如 &brand=rayban 。喜欢:
http://www.my-site.com/?s=sunglass&brand=rayban
当取消选中它时,URL 返回原始状态 ?s=sunglass

HTML 代码为:

<input type="checkbox" name="brand" value="rayban"/> 

jQuery 代码是:

$('input[type="checkbox"]').on('change', function(e){
    var data = [],
        loc = $('<a>', {href:window.location})[0];
    $('input[type="checkbox"]').each(function(i){
    if(this.checked){
        data.push(this.name+'='+this.value);

    }
    });
    data = data.join('&');

    if(history.pushState){
        history.pushState(null, null, loc.pathname+'?'+data);
location.reload();
    }

有什么想法吗?

最佳答案

您可以尝试类似的方法。希望这会有所帮助。

<!DOCTYPE html>
<html>

  <head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="style.css" />
<script data-require="jquery" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
<script>
  
  $(function(){
 

  $('input[type="checkbox"]').on('change', function(e){
       
      var loc = location.href;
      loc = loc.split("&")[0]; // to get the URL till /?s=sunglass
      $('input[type="checkbox"]').each(function(i){
      if(this.checked){
         loc += "&" + $(this).attr("name") + "=" + $(this).attr("value");
         }
      });
      location.href = loc;
  });
 
});
  
</script>
  </head>

  <body>
<input type="checkbox" name="brand" value="rayban"/> 
 <input type="checkbox" name="brand" value="armani"/> 
  </body>

</html>

关于javascript - 如何使用 jQuery 和复选框添加 url 参数末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440238/

相关文章:

javascript - 在 Angular 2 的另一个服务中注入(inject)自定义服务

javascript - 使用 jquery/javascript 验证日期时间 asp net 文本框

javascript - 在 AngularJS 应用程序中存储永久变量

javascript - 过滤项目列表如何依赖于另一个列表

javascript - jquery 脚本标签的意外标记非法

javascript - jQuery各个函数的结果怎么办?

python-2.7 - 是否可以在没有 Twitter API 的情况下读取推文 URL 的推文文本?

jquery - 如何添加覆盖 DIV 以覆盖现有 DIV(使用 JQuery)?

javascript - 如何使用 Javascript 替换特定网站的 href 链接?

java - 通过服务器调用 Web 服务会导致 java.net.MalformedURLException : no protocol