Я использую форму с несколькими выборами (с помощью Select2) и отправку данных на сервер с использованием объекта Formdata HTML5. Он работает хорошо, когда я отправляю текст или файлы, но не работает в этом случае.Отправка множественного выбора на сервер
Я присвоил атрибуту name как lbl [] по мере необходимости, а также указал multiple = "multiple".
Поддерживает ли Formdata несколько вариантов или есть что-то, что у меня отсутствует?
Мой выбор:
<select class="form-control theread_p_ip" name="thread_p[]" multiple="multiple" style="width: 100%"></select>
Путь я использую FormData:
form_data = new FormData($(mydata.sform)[0]);
ajaxoptions.data=form_data;
где ajaxoptions является объектом я передаю в JQuery AJAX и $ (mydata.sform) [0] Выбор моя форма
Я проверил с помощью print_r($_POST,true)
и я получаю это:
Array
(
[thread_p] =>
[thread_lbl] => giggg
[ddemand] => json
[dtype] => json
[eltarget] => -1
[sform] => #ta-tbxnewthread
[mkey] => tbx_newthread
)
Вы можете видеть, что thread_p пуст. Если я укажу имя = "thread_p" вместо использования [], я получаю только последнее выбранное значение.
PS: Игнорировать другие значения в массиве. Это другие параметры, которые я отправляю с клиентской стороны.
И если вы задаетесь вопросом, что в выборе нет параметров, они загружаются через AJAX с помощью select2, который работает правильно.
UPDATE: решаемые с помощью скрипки hackerman в: https://jsfiddle.net/95khdzp2/1/
И в стороне сервера вы получите значение, разделенное «», которые вы должны отделить с помощью explode(',', $variable);
если вы используете PHP
'ajaxoptions.data.mySelect2 = $ (". Theread_p_ip "). Val();' ?? – Hackerman
Нет. select2 - это просто плагин, который я использую. http://select2.github.io/ нет переменной data.mySelect2 –
Вы даже пытались ... или, может быть, вы уже решили это? – Hackerman