У меня сработало следующее от Тарьяна,
var data = { 'user_ids[]' : []};
$(":checked").each(function() {
data['user_ids[]'].push($(this).val());
});
$.post("ajax.php", data);
но у меня было несколько форм на моей странице , и он извлек флажки из всех форм, поэтому я сделал следующую модификацию, чтобы она извлекала только из одной формы,
var data = { 'user_ids[]' : []};
$('#name_of_your_form input[name="user_ids[]"]:checked').each(function() {
data['user_ids[]'].push($(this).val());
});
$.post("ajax.php", data);
Просто замените name_of_your_form на имя вашей формы.
Я также упомяну, что если пользователь не ставит флажки, то массив в PHP не устанавливается. Мне нужно было знать, сняли ли все флажки пользователь, поэтому я добавил в форму следующее:
<input style="display:none;" type="checkbox" name="user_ids[]" value="none" checked="checked"></input>
Таким образом, если флажки не установлены, для массива будет установлено значение none.