Я хотел реплицировать обычный путь публикации в ajax, когда у вас есть такие входные данные, как:
<input name="name[]" value="a"/>
<input name="name[]" value="b"/>
Я пришел с этим решением, чтобы опубликовать массив выбранных или любых элементов формы, таких как:
var result = {};
var prev_name = null;
var form_data = form.serializeArray();
var i = 0;
$.each(form_data, function() {
if((this.name).indexOf('[]') > -1){
var name = (this.name).replace('[]','');
if(prev_name != this.name){
result[name] = {[i] : this.value};
}else{
result[name][i] = this.value;
}
i += 1;
}else{
i = 0;
result[this.name] = this.value;
}
prev_name = this.name;
});
, но как я могу улучшить этот код?Может быть, кто-то сделал это лучше и динамичнее?Мой код работает, только если имена массивов входных имен находятся в строке