el_1: "option_1_3", el_2: "option_1_2" //первый массив
el_1: "option_2_2", el_2: "option_2_3" //второй
el_1: "option_3_1", el_2: "option_3_2" // третий
var query = build_query(arr1, 5) +'%' + build_query(arr2, 5) +'%' + build_query(arr3, 5);
//результат
query = el_1=option_1_3&el_2=option_1_2%el_1=option_2_2&el_2=option_2_3%el_1=option_3_1&el_2=option_3_2
http_build_query.js
если есть $.param(), чтобы перевести обратно можете создать свой небольшой метод или гуглите unparam, deparam
;(function($) {
$.extend({
unparam: function(param) {
if (param[0] === '?') param = param.slice(1);
var re = {};
for (var i = 0, arr = param.split('&'), kv; kv = arr[i]; i++) {
kv = kv.split('=');
re[kv[0]] = kv[1];
}
return re;
}
});
})(jQuery);
var param = $.param({
el_1: 'option_1_3',
el_2: 'option_1_2'
});
//> "el_1=option_1_3&el_2=option_1_2"
var decode = $.unparam(param);
//> {el_1: "option_1_3", el_2: "option_1_2"}
{
el_1 : "option_1_3",
el_2 : "option_1_2",
el_3 : "option_2_2",
el_4 : "option_2_3",
el_5 : "option_3_1",
el_6 : "option_3_2"
}