0

在 Laravel 应用程序中,我使用 selectpicker 进行过滤。我喜欢将最新状态存储在 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'));有效?

4

1 回答 1

1

js-cookie插件以字符串表示形式存储 cookie 值(使用JSON.stringify)。当您需要通过js-cookie插件获取 Cookie 中的数组或对象时,您需要使用Cookies.getJSON('keyName')

所以在你的情况下使用Cookies.getJSON('location').

你也可以使用JSON.parse(Cookies.get('location'))

于 2019-03-23T06:12:16.357 回答