Сериализация массива флажков
Давний читатель/первый постер здесь.
Итак, у меня есть массив флажков, который отлично разместился в моей таблице, когда у меня был пост ajax через:
var createListingString="&features=" + arrayCheckBox;
Теперь я ВСЕ проверяю (и мне это нравится), но каждый раз, когда я пытаюсь опубликовать свой массив с
data: $("#create_listing_1").serialize()
, я просто получаю "массив " в создаваемой им записи (вместо фактических значений).
Все мои флажки отформатированы:
<input type="checkbox" name="features[]" value="Non-smoking" /> Non-smoking <br />
Я уверен, что это, вероятно, легко, но я усложняю задачу. и Я хотел опубликовать свой первый вопрос. Все здесь оказывают потрясающую помощь, спасибо за это.
2 answers
Вероятно, вам сначала нужно преобразовать массив в строку, PHP выдаст вам строку "Массив", если она будет преобразована неявно. Хотя я не уверен, как бы это работало раньше, поэтому приношу извинения, если я совершенно неправильно понял.
$string = implode(', ', $_POST['features']);
На днях у меня была такая же проблема. Вот как я решил эту проблему:
var values = new Array();
$.each($("input[@name='features[]']:checked"), function() {
values.push($(this).val());
});
var createListingString = values.join();