При активном checkbox мне нужно отправить ту или иную группу с помощью ajax и обработать данные с помощью php.
Данную задачу решил таким способом при активном checkbox навешиваю class active и отправляю через serialize данные
Все данные отправляются я их обрабатываю и получаю нужный мне результат. Но вопрос встал в том что бы в этой же форме отправить еще изображение.
Пробовал сделать так
все блоки переписывать не буду так как они все одинаковы. так что при выборе я отправляю не всю форму.
То что смешивать не надо это я понимаю. Вопрос тогда в том как мне передать именно группами?
Мне надо выбрать какие то checkbox и отправить их на обработку, а дальше php уже их обработает как мне надо и сделает своё дело.
Спасибо за помощь. Решение предварительно найдено на другом форуме. (не пишу адрес что бы не рекламировать его)
$('#ttt').submit(function (e) {
e.preventDefault();
var fd = new FormData();
var elements = $('#ttt')[0].elements;
var len = elements.length;
for (var i = 4; i < len; i += 5) {
if (elements[i].checked)
for (var j = i - 4; j <= i; j++)
fd.append(elements[j].name, elements[j].value);
}
$.ajax({
data: fd,
cache: false,
contentType: false,
processData: false,
method: 'POST',
success: function (html) {
$("#result").html(html);
}
});
});
Вместо цикла со счетчиком лучше через селектор найти чекбоксы и потом если checked, то добавлять эту группу (через parent или siblings()). Так не будет непонятных магических чисел и можно будет потом менять форму не боясь сломать что-то при любом изменении.