如何在JQuery/Javascript中检查url是否包含字符串
我有一个带有多个选项的选择框,当用户单击某个选项时,我会在url中添加一个字符串,页面将刷新(使用字符串),从而将产品添加到购物车 我的问题是,如果用户单击一个选项,并且该字符串被附加到url,那么当页面刷新并选择另一个选项时,它就会继续添加字符串 这就是我的意思,我点击选择中的一个选项,它将自身附加到url如何在JQuery/Javascript中检查url是否包含字符串,javascript,jquery,Javascript,Jquery,我有一个带有多个选项的选择框,当用户单击某个选项时,我会在url中添加一个字符串,页面将刷新(使用字符串),从而将产品添加到购物车 我的问题是,如果用户单击一个选项,并且该字符串被附加到url,那么当页面刷新并选择另一个选项时,它就会继续添加字符串 这就是我的意思,我点击选择中的一个选项,它将自身附加到url“?添加到购物车=55”,当页面刷新时,该字符串仍在url中,但是如果我选择另一个选项,它将继续添加到url中,如下所示:"http://my-site.com?added-到购物车=55/
“?添加到购物车=55”
,当页面刷新时,该字符串仍在url中,但是如果我选择另一个选项,它将继续添加到url中,如下所示:"http://my-site.com?added-到购物车=55/?添加到购物车=2/?添加到购物车=100“
等等
我正在寻找一种方法来检查url中是否有字符串,如果是,则将其删除。因此,当他们选择新选项时,它将变成”http://my-site.com/?added-到购物车=55“
以下是我一直在做的工作:
我不知道是否最好将下面的内容添加到我的select的click事件中,或者添加到jQuery(document).ready(function($){});
jQuery(“着陆选择选项”)。单击(函数(){
$(“#产品表单”).submit();
window.location.href+=$(this.val();
});
jQuery(文档).ready(函数($){
//这就是我要寻找的字符串,并删除它?
var url=window.location.href;
url=url.split(“?”)[0];
window.history.pushState(“字符串”、“标题”、“新URL”);
});
因此,我的选项的值包含添加到购物车=…“部分。基本上,当用户单击一个选项时,我需要它将选项值添加到url中,这样做非常完美,然后页面会随着添加的产品而刷新,并且字符串仍在url中。我只需要一种方法来删除与添加到购物车的”类似的任何现有字符串=“
当单击新选项(产品)时,它会将新字符串添加到url,并刷新以将产品添加到购物车,而不仅仅是继续向url添加字符串
我真的希望我在这里讲得有道理,看起来很基本,但我可能把这个问题弄糊涂了
谢谢获取完整路径,然后检查“?”的位置 1) window.location.href或document.URL
2) indexOf()您只需覆盖
位置。搜索
,而不是整个url:
jQuery("#landing-select option").click(function(){
$('#product-form').submit();
window.location.search = $(this).val();
});
这将只加载带有新查询字符串的给定url,而不管旧查询字符串是什么。仅覆盖查询字符串。比如:
jQuery("#landing-select").change(function(){ //change is more appropriate than click
jQuery('#product-form').submit();
window.location.search = jQuery(this).val();
});
为什么在JavaScript代码中使用花哨的引号(
“
”)呢?应该是真正的引号-“
或”
啊,你太棒了!非常感谢你
jQuery("#landing-select").change(function(){ //change is more appropriate than click
jQuery('#product-form').submit();
window.location.search = jQuery(this).val();
});