@FreeAero

Возможно ли переформатировать jQuery массив в определенную строку?

Здравствуйте, нужна помощь, у самого опыта не хватает с решением задачи. Есть массив такого вида:

filters[in][1] = 4  
filters[in][1] = 6  
filters[in][2] = 3  
filters[in][2] = 2

Из этого массива нужно получить строку такого вида
?filters[in][1]=4,6&filters[in][2]=3,2
--------
Что это такое:
Это форма на сайте, а именно фильтр товаров похожее можно встретить в меню с лева здесь здесь инпуты у меня такого вида:

<input type="checkbox" name="filters[in][1][]" value="4" />
<input type="checkbox" name="filters[in][1][]" value="6" />
// из этого хочу получить такую строку ?filters[in][1]=4,6

дальше я получаю массив из формы таким образом:
$("#filterForm").serializeArray();
Который хочу привести в строку которую описал выше, и отправить на него запрос и получить ответ.
  • Вопрос задан
  • 2491 просмотр
Пригласить эксперта
Ответы на вопрос 4
RubaXa
@RubaXa
Просто прочтите документацию, это помогает.

UPD Посмотрел на ваш массив, это точно массив?
Ответ написан
Комментировать
@podvzbzdnul
К чему такие сложности? Просто отправляйте как есть:
param = $("#filterForm").serializeArray();
$.post("server.script",param);

А дальше уж сервер сам разберется, что к чему. Например, php:
print_r($_POST)
Array(
  [filters] => Array(
    [in] => Array(
      [1] => Array(
        [0] => 4
        [1] => 6
      )
    )
  )
)
Ответ написан
natusimmortal
@natusimmortal
Можно циклом прогнать, в котором каждый элемент массива добавлять в строку.

Но меня смущает вот это:
filters[in][1] = 4  
filters[in][1] = 6

В итоге у вас останется переменная filters[in][1] равная 6.
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
У вас какой то массив неправильный. in - это у вас переменная?
И что значит - "Мне не просто нужно назначать значения ключам, а выстроить строку из значений через запятую в ключе"?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы