Как обернуть значения ключей объекта в массив
Подскажите, как из значений "products[]":"Applications,VPN", получить значение "products[]":["Applications,VPN"], Значения ключа собирается из мульти select и может содержать много чекнутых options /
Сейчас функция выглядит так
function getAllSelectedOptions(selectID, selectName) {
let selectedMultiOptionValues = Array.from(selectID.options)
.filter(option => option.selected)
.map(option => option.value);
return formData.append(selectName, selectedMultiOptionValues);
}
let products = formCreateAccount.querySelector(".js-products"),
getAllSelectedOptions(products, 'products[]');
|
Black_Star,
return formData.append(selectName, [selectedMultiOptionValues.join(",")]);
|
Black_Star,
или возможно так
return formData.append(selectName, `['${selectedMultiOptionValues}']`);
нужно знать что на самом деле вам нужно. |
Первый вариант как-то вообще ничего не поменялось в выводе / При втором Выводит
"products[]":"[Applications,VPN]" А на до бы что бы значение ключа было бы в скобках объекта Вот https://jsfiddle.net/ezp2th9g/ |
Black_Star,
не понимаю что не так
{
products[]: "['Applications,Parental controls,VPN']"
}
|
Black_Star,
может проблема в том что это невозможно Цитата:
передать можно только строку |
Black_Star,
может json? return formData.append(selectName, JSON.stringify(selectedMultiOptionValues)); |
бэку надо строка / По тому и формат такой дикий
|
Цитата:
Цитата:
|
Цитата:
let o = {"products[]":"Applications,VPN"};
o["products[]"]=[o["products[]"]];
console.log(o);
|
| Часовой пояс GMT +3, время: 21:15. |