Ajax Post Multi флажок - PullRequest
       4

Ajax Post Multi флажок

0 голосов
/ 28 марта 2012

У меня проблемы с публикацией этих данных с несколькими флажками с помощью ajax.

<?php
foreach($_SESSION['contacts'] as $user => $id) {?>
<li class="contactList"><span><input type="checkbox" name="contact[]" id="contact" value="<?php echo $id; ?>" /></span><?php echo $user; ?></li>
<?php } ?>

, затем ajax

        var contact = $("#contact").val()
    var days = $("#days").val()
    $.ajax({
        type: 'post',
        url: 'temp_history.php',
        data: {contact: contact, days: days},
        context: document.body,

Массив контактов не публикуется, так как форма будет отправлена ​​нормальноно отправляет один контакт.

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 28 марта 2012

ID должен быть уникальным в документе.$('#contact') всегда будет возвращать только один элемент.

Кроме того, .val() всегда будет возвращать значение первого элемента в наборе, даже если их было больше.

Рассмотрите возможность использования .serialize для передачи данных:

data: $('#some-form').serialize()

... что даст вам данные в формате days=X&contact%5B%5D=1&contact%5B%5D=2

1 голос
/ 28 марта 2012

Вы должны получить значения с помощью цикла. Попробуйте это:

var contact = new Array();
$("input[@name='contact[]']:checked").each(function() {
  contact.push($(this).val());
});
1 голос
/ 28 марта 2012

все ваши флажки имеют одинаковый идентификатор, использовать другую стратегию для сбора значения

сериализовать форму? http://api.jquery.com/serialize/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...