@khodos_dmitry

Как передать multiselect через AJAX?

let calc_test__number = $("#calc_test__number"),
calc_test__degree = $("#calc_test__degree"),

calc_test = $('#calc_test');
calc_test.on('click', function (event) {
    event.preventDefault(); // отменяем событие по умолчанию
    
    $.post('https://site.ru/script.php',
        {
            calc_test__number: calc_test__number.val(),
            calc_test__degree: calc_test__degree.val(),
        },
        onAjaxSuccess
    );

    function onAjaxSuccess(data) {
        $('#calc_test').parent().next('.calc_answer').remove();
        // Здесь мы получаем данные, отправленные сервером и выводим их на экран.
        $('#calc_test').parent().after(data);
    }
});

Здесь #calc_test__number - поле multiselect. Сейчас передается такая строка: ["test321","test234"]. Можно конечно и ее разобрать регулярками, но, есть ли другие варианты?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
AprelVovanya
@AprelVovanya
Кодю
Так у тебя роде как массив уходит, на стороне сервера массивом приходит.
$_POST['calc_test__number'] - массив со значениями ($_POST['calc_test__number'][0], $_POST['calc_test__number'][1]...)
Вывод всех значений:
foreach ($_POST['calc_test__number'] as $item)
    echo $item."\n";
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы