Здравствуйте. Имеется форма с полями:
var inputQ = $('<input/>', {
type: 'text',
name: 'question[]',
placeholder: 'Вопрос',
value: '',
class: 'form-control',
id:'question[]'
}).appendTo(div);
var inputA = $('<input/>', {
type: 'text',
name: 'answer[]',
placeholder: 'Ответ',
value: '',
class: 'form-control',
id:'answer[]'
}).appendTo(div);
Получаю значение полей и обрабатываю их:
var arr = ($("#myForm").serializeArray());
$.ajax({
....
data: {action: 'addQuestionDB', 'arr': arr},
....
});
Проблема в том что массив приходить в виде:
{'первый инпут', 'значение первого инпута'}, {'второй инпут', 'значение второго инпута'}.
А надо чтобы было так:
{'первый инпут', 'значение первого инпута', 'второй инпут', 'значение второго инпута'}.
Странная, конечно, потребность в такой структуре, но
$.fn.serializeAnotherArray = function(){
var arr = $(this).serializeArray(),b=[],c=[];
$.each(arr,function(){
c.push(this.name.replace('[]',''),this.value);
if(c.length==4){
b.push(c);
c = [];
}
});
return b;
}
Вызов будет такой
var arr = $("#myForm").serializeAnotherArray();
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости