现在我有javascript代码,用户检查复选框后将页面(重新加载)切换为类似的内容
http://localhost:8000/products/all-products?country=1
当用户点击其他复选框时,它会更改1到2,例如。但我想要达到的目的是:?country = [1,2]或者只有一个参数可以是吗?country = 1或?country = [1],如果检查多个参数复选框,需要用逗号分隔。
JS代码:
$('input[type="checkbox"]').on('change', function(e){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var data = {},
fdata = [],
loc = $('<a>', {href:window.location})[0];
$('input[type="checkbox"]').each(function(i){
if(this.checked){
if(!data.hasOwnProperty(this.name)){
data[this.name] = [];
}
data[this.name].push(this.value);
}
});
$.each(data, function(k, v){
fdata[k] = [v.join(',')];
});
var countryArr = fdata["country"];
fdata = countryArr.join('&');
$.post('/wines/all-wines/', fdata);
console.log(fdata);
if(history.pushState){
history.pushState(null, null, loc.pathname+'?country='+fdata);
window.location.href = loc.pathname+'?country='+fdata;
}
});
非常感谢!