期待“stackoverflow”,我发现这有效:
function updateQueryStringParameter(uri, key, value) {
var re = new RegExp("([?&])" + key + "=[^&#]*", "i");
if (re.test(uri)) {
return uri.replace(re, '$1' + key + "=" + value);
} else {
var matchData = uri.match(/^([^#]*)(#.*)?$/);
var separator = /\?/.test(uri) ? "&" : "?";
return matchData[0] + separator + key + "=" + value;
}
}
function removeQueryStringParameter(uri, key, value){
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
return uri.replace(re, '');
}
}
它工作正常,但我需要类似的东西,唯一的区别是值由逗号或任何分隔符连接。例子:
www.google.com?key=1,2,3,4而不是key = 1& key = 2 ...
提前致谢!
答案 0 :(得分:0)
这是我的脚本代码:
tjq('.servizio').click(function () {
var servizio = tjq(this).data('id');
var href = tjq(location).attr('href');
if(tjq(this).parent().hasClass('active')){
var url = removeQueryStringParameter(href, 'serv', encodeURIComponent(servizio));
location.href = url;
}else{
var url = updateQueryStringParameter(href, 'serv', encodeURIComponent(servizio));
location.href = href.url;
}
});
和html代码:
<a href="#" class="servizio" data-id="'.$filtroS['servizio'].'">'.$filtroS['servizio'].'<small>('.$filtroS['quanti'].')</small></a></li>';
我正在创建搜索过滤器。