Есть множественный 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 ?>
Результат:
Комментариев нет:
Отправить комментарий