Разница между оператором проекта (π) в реляционной алгебре и ключевым словом SELECT в SQL заключается в том, что если в результирующей таблице / наборе имеется более одного вхождения одного и того же кортежа, то π вернет только один из них, а SQL SELECT вернет все.
Из документации jquery для POST ( 3-й пример ):
$.post("test.php", { 'choices[]': ["Jon", "Susan"] });
Так что я бы просто перебрал отмеченные поля и построил массив. Что-то вроде
var data = { 'user_ids[]' : []};
$(":checked").each(function() {
data['user_ids[]'].push($(this).val());
});
$.post("ajax.php", data);
Если вы не настроены на развертывание собственного решения, попробуйте этот плагин jQuery:
malsup.com/jquery/form/
Он сделает это и многое другое за вас. . Настоятельно рекомендуется.
Можно использовать следующее, а затем расчленить результат публикации explode (",", $ _POST ['data']);
, чтобы получить массив результатов.
var data = new Array();
$("input[name='checkBoxesName']:checked").each(function(i) {
data.push($(this).val());
});
Просто наткнулся на это, пытаясь найти решение той же проблемы. Реализуя решение Пола, я сделал несколько настроек, чтобы эта функция работала правильно.
var data = { 'venue[]' : []};
$("input:checked").each(function() {
data['venue[]'].push($(this).val());
});
Короче говоря, добавление input: checked в отличие от: checked ограничивает ввод полей в массив только флажками в форме. Пол действительно прав в том, что this
необходимо заключить в виде $ (this)