缓存单选按钮jQuery

时间:2018-11-13 09:19:02

标签: php jquery laravel

我有此代码:

@if (isset($isModelTranslatable) && $isModelTranslatable)
<div class="language-selector">
    <div class="btn-group btn-group-sm" role="group" data-toggle="buttons">
        @foreach(config('voyager.multilingual.locales') as $lang)
            <label class="btn btn-primary{{ ($lang === config('voyager.multilingual.default')) ? " active" : "" }}">
                <input type="radio" name="i18n_selector" id="{{$lang}}" autocomplete="off"{{ ($lang === config('voyager.multilingual.default')) ? ' checked="checked"' : '' }}> {{ strtoupper($lang) }}
            </label>
        @endforeach
    </div>
</div>
@endif

我想做。如果人们单击单选按钮,请记住该单选按钮,并在重新加载页面时,执行他选择的活动单选按钮。我该怎么做?我可以使用laravel缓存吗?还是我需要使用jQuery缓存?

1 个答案:

答案 0 :(得分:0)

jQuery没有内置缓存,但是localStorage(如注释中提到的@Pete)是一个不错的选择。如果您想使用Laravel存储数据,建议您在缓存上使用Eloquent model,因为(我认为)这样可以更轻松地将唯一数据与特定的站点访问者相关联。 (这也是假设您已经存在某种用户登录系统。)

如果您选择走Laravel路线,则必须在用户做出选择时将数据发送到服务器,然后再将其存储在Laravel一侧。研究the fetch API或只是制作一个简单的HTML表单。

对于最基本的解决方案,localStorage仍然是您最好的选择。它由JavaScript驱动,并存储在客户端,因此您不必担心交叉污染保存的数据,甚至根本不必将数据存储在服务器上。赢得各地!看看this related answer on saving input states with localStorage,一旦遇到特定问题,请告诉我们。