如何将名称值对添加到现有查询字符串

时间:2011-09-05 12:56:03

标签: javascript jquery

当用户点击某个按钮时,我需要为现有查询字符串添加新名称,值对。

我正在使用jquery进行客户端操作。

任何想法..?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$('#yourId').click(function(){
   var href = window.location.href;
var indexOfCanc = href.indexOf('#');
if(indexOfCanc === -1){
  if(href.indexOf('?') === -1){
     href+="?newparamter=my";
  }else{
     href+="&newparamter=my";
  }
 }else{
  var newHref = href.substring(0, indexOfCanc);
  var locationHash = href.substring(indexOfCanc); 
  if(href.indexOf('?') === -1){
     newHref += "?newparamter=my"+locationHash;
  }else{
     newHref += "&newparamter=my"+locationHash;
  }
 }   


   //use the new href for example reload the page with the new parameter:
   window.location.href = href;
});

答案 1 :(得分:0)

使用regExp:

var href = window.location.href,
    toAdd,
    pattern1 = /\?/gi,
    pattern2 = /#/gi;
if (href.match(pattern1) != null) { toAdd = "&" }
else { toAdd = "?" }
toAdd += "param=val";
if (href.match(pattern2) != null) {
    var arr = href.split('#');
    href = arr[0] + toAdd + '#' + arr[1];
}
else { href += toAdd; }