2010-11-24 50 views

回答

1

这是另一种方法。该代码是有点长,作为搜索字符串进行解析,以创建参数的映射,然后再建立起来(这应该与任何参数工作,然后):

var searchTerms = document.location.search.substr(1).split('&'); 
var parameters = {}; 
for(var i = 0; i < searchTerms.length; i++) { 
    var parts = searchTerms[i].split('=', 2); 
    parameters[parts[0]] = parts[1]; 
} 

parameters['opr'] = 'sales-' + document.getElementById('selectboxID').value; 

searchTerms = []; 
for(var key in parameters) { 
    if(parameters.hasOwnProperty(key)) { 
     searchTerms.push(key + '=' + parameters[key]); 
    } 
} 

document.location.search = searchTerms.join('&'); 

参考:document.location

Working Demo (我使用jQuery仅用于演示,实际的代码是上面显示的一个)

+0

谢谢,它的工作和很好的演示也是,再次感谢 – 2010-11-24 08:54:24

0
Url = document.location.href.split("?"); 
dropdownval = document.getElementByID('dropdown/selectbox id tag').value; 
document.location = Url[0]+'?page=index&opr=sales-'+dropdownval+'&page=1'; 

这是你可以用它来实现这一目标的代码。

+0

谢谢,但我需要更好的解决方案,因为“页面”和“pageno”的值可能会改变 – 2010-11-24 08:34:14

0

或者你可以做一个取代:

var val = 'sales-' + document.getElementById('selectBox').value; 
document.location.href = document.location.href.replace(/([?&]opr=)([^&]+)/, '$1' + val); 

#selectBox的值(val)替换opr参数。

但是,我相信@Felix Kling的solution是更通用的方式。只是发布一个简单的解决方案提示。

+0

感谢更简单的解决方案,是的你是正确的“@Felix Kling “解决方案更通用 – 2010-11-24 08:55:34