如何在Javascript中添加参数并删除以前的参数
我有一个可以工作的代码,但问题是它只是附加参数如何在Javascript中添加参数并删除以前的参数,javascript,jquery,parameters,Javascript,Jquery,Parameters,我有一个可以工作的代码,但问题是它只是附加参数而不是用新参数替换它,以下是我的工作代码: jQuery('#input_1_11').change(function(){ var type = jQuery('#input_1_11').val(); if(type=='Inspection'){ window.location.replace(window.location.href + "?Inspection"
而不是用新参数替换它,以下是我的工作代码:
jQuery('#input_1_11').change(function(){
var type = jQuery('#input_1_11').val();
if(type=='Inspection'){
window.location.replace(window.location.href + "?Inspection");
}
else if(type=='Installation'){
window.location.replace(window.location.href + "?Installation");
}
else{
window.location.replace(window.location.href + "?Maintenance");
}
});
例如,当前发生的情况www.test.com?Inspection
然后,如果我再次单击输入11,它将转到链接www.test.com?Inspection?Maintenance
我需要的是替换每个参数?每个用户的更改。您可以做一件事-获取当前url并将其拆分为一个数组,使用
?
作为拆分的参数。获取该数组的第一个元素。它将是不带参数的url
jQuery('#input_1_11').change(function(){
var type = jQuery('#input_1_11').val();
var present = window.location.href.split("?");
if(type=='Inspection'){
window.location.replace(present[0] + "?Inspection");
}
else if(type=='Installation'){
window.location.replace(present[0] + "?Installation");
}
else{
window.location.replace(present[0] + "?Maintenance");
}
});
您可以做一件事-获取当前url并将其拆分为一个数组,其中?
作为拆分的参数。获取该数组的第一个元素。它将是不带参数的url
jQuery('#input_1_11').change(function(){
var type = jQuery('#input_1_11').val();
var present = window.location.href.split("?");
if(type=='Inspection'){
window.location.replace(present[0] + "?Inspection");
}
else if(type=='Installation'){
window.location.replace(present[0] + "?Installation");
}
else{
window.location.replace(present[0] + "?Maintenance");
}
});
使用:
window.location.origin+“?维护”
而不是
window.location.href+“?维护”
使用:
window.location.origin+“?维护”
而不是
window.location.href+“?维护”
尝试:window.location.hostname+“?检查”
?尝试:window.location.hostname+“?检查”
?注意源代码
仅返回域。您很可能还需要在其上附加路径
,同时添加?
字符。在OP问题的末尾,这正是他所要求的。没错,但如果不添加路径
,解决方案将非常脆弱,很容易被破坏。不管怎样,这是最好的方法;比将URL作为字符串进行黑客攻击要好得多。我知道,这就是为什么我将链接放在window.location.origin
上,让他根据自己的需要调整解决方案。这正是我的坏处,即origin
只返回域。您很可能还需要在其上附加路径
,同时添加?
字符。在OP问题的末尾,这正是他所要求的。没错,但如果不添加路径
,解决方案将非常脆弱,很容易被破坏。不管怎样,这是最好的方法;这比把URL作为字符串来破解要好得多。我知道,这就是为什么我把链接放在window.location.origin
上,让他根据自己的需要调整解决方案。这是我的错