2017-02-20 6 views
0

このコードで既存のURLパラメータ "aspid"を置き換えますが、既存のURLパラメータには別のIDを追加します。誰も助けることができますか?既存のURLパラメータ値を新しいもので上書きする

あなたはすべての aにこの関数を呼び出す必要が
$(document).ready(function() { 

    function GetUrlValue(VarSearch) { 
    var SearchString = window.location.search.substring(1); 
    var VariableArray = SearchString.split('&'); 
    for (var i = 0; i < VariableArray.length; i++) { 
     var KeyValuePair = VariableArray[i].split('='); 
     if (KeyValuePair[0] == VarSearch) { 
     return KeyValuePair[1]; 
     } 
    } 
    } 

    var asid = GetUrlValue('aspid'); 
    var campaign = GetUrlValue('utm_campaign'); 
    if (asid != undefined) { 
    $("a").attr('href', function(i, h) { 
     return h + (h.indexOf('?') != -1 ? "&aspid=" + asid : "?aspid=" + asid); 
    }); 
    } 
}); 

答えて

1

/** 
* http://stackoverflow.com/a/10997390/11236 
*/ 
function updateURLParameter(url, param, paramVal){ 
    var newAdditionalURL = ""; 
    var tempArray = url.split("?"); 
    var baseURL = tempArray[0]; 
    var additionalURL = tempArray[1]; 
    var temp = ""; 
    if (additionalURL) { 
     tempArray = additionalURL.split("&"); 
     for (var i=0; i<tempArray.length; i++){ 
      if(tempArray[i].split('=')[0] != param){ 
       newAdditionalURL += temp + tempArray[i]; 
       temp = "&"; 
      } 
     } 
    } 

    var rows_txt = temp + "" + param + "=" + paramVal; 
    return baseURL + "?" + newAdditionalURL + rows_txt; 
} 

をそしてそうのような関数を呼び出す:だから

... 
$("a").attr('href', function(i, h) { 
if(h){ 
    return updateURLParameter(h, 'aspid', asid); 
} 
}); 
... 
+0

updateURLParameter(window.location.href, 'paramName', 'Value') 

完全なコードは次のようになりますどのように完全なcああ、そんなの? – Azchezuazche

関連する問題