В приложении Laravel я использую selectpicker для filterst. Мне нравится хранить статус опозданий в файле cookie.
Сохранить статус:
function saveFilterStatus() {
alert ($('#locationSelect').val())
Cookies.set('location', $('#locationSelect').val());
}
Результат оповещения: 31,32,37
Предварительно выбрать средство выбора:
alert(Cookies.get('location'))
$('#locationSelect').selectpicker('val', Cookies.get('location'));
Результат оповещения: ["31","32","37"]
Если я поставлю $('#locationSelect').selectpicker('val', ["31","32","37"]);, это сработает
Если я поставлю $('#locationSelect').selectpicker('val', Cookies.get('location'));, это не сработает
Что мне нужно адаптировать или чего не хватает, чтобы $('#locationSelect').selectpicker('val', Cookies.get('location')); работало?
@LawrenceCherone - как это поможет решить проблему
@JaromandaX Это сработает;/
$('#locationSelect').val() - это МАССИВ строк... оповещение, которое будет предупреждать представление toString этого массива... то есть именно то, что вы видите, но Cookies.set обрабатывает массив, используя метод массива JSON.stringify или .toSource (не уверен, какой), поэтому вы получаете строка, которую вы видите, предупреждена
@LawrenceCherone $('#locationSelect').selectpicker('val', "31,32,37") будет работать лучше, чем $('#locationSelect').selectpicker('val', ["31","32","37"]), потому что localStorage будет хранить ["31","32","37"] как "31,32,37"
@JaromandaX обычно вы упорядочиваете входящие данные или накладываете эту логику на вызываемый метод, так как вы имеете право хранить строки, такие как файлы cookie. В своем первоначальном комментарии я имел в виду простой API localStorage.foo = "bar", без библиотек, без хлопот.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Плагин js-cookie сохраняет значение cookie в строковом представлении (используя JSON.stringify). Когда вам нужно получить массив или объект в Cookie с помощью плагина js-cookie, вам нужно использовать Cookies.getJSON('keyName')
Так что в вашем случае используйте Cookies.getJSON('location').
Также вы можете использовать JSON.parse(Cookies.get('location'))
чтобы уточнить string representation ... это не результат array.toString(), который вы получаете с предупреждением ... скорее array.toSource() или JSON.stringify(array)
Плагин js-cookie сохраняет объект или массив, используя метод JSON.stringify
ОК - я узнал кое-что о библиотеке, которую никогда не захочу использовать :p
Вам лучше использовать для этого localstorage вместо файлов cookie.