Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

Разделить данные из select

Есть множественный select с группами:

При передаче в обработчик, получаем подобный массив:
"place":["metro1","metro2","raion1"]
Вопрос: как, если, конечно, возможно, разбить передаваемые данные на вложенные массивы? Чтобы получилось вроде:
"place":{"metro":["metro1", "metro2"],"district":["district1"]}
Если невозможно, то какие способы есть для разделения подобных данных (на ум приходят только префиксы для value)?


Ответ

Если прям так сильно нужно, можно попробовать сделать так, не самый оптимальный вариант конечно:
В примере используется Jquery
HTML


Jquery
$('#placeID').change(function() { var arr = {}; $('select :selected').each(function(){
$('optgroup ').each(function() { arr[$(this).data('name')] = $(this).find('option:selected').map(function() { return $(this).val(); }).get(); }); console.log( JSON.stringify(arr) ); //Вывод для понимания $("#select_array").val( JSON.stringify(arr) ); });
php
print_r(json_decode( $_GET['select_array'] ,true)); //parse ?>
Результат:

Комментариев нет:

Отправить комментарий