Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中添加参数并删除以前的参数_Javascript_Jquery_Parameters - Fatal编程技术网

如何在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
上,让他根据自己的需要调整解决方案。这是我的错