【问题标题】:Customize Sidbar Juery and Laravel but once added even After application restart it should remain in sidebar自定义侧边栏 Jquery 和 Laravel,但一旦添加,即使在应用程序重新启动后它应该保留在侧边栏中
【发布时间】:2017-10-23 02:07:23
【问题描述】:

我是 laravel 和 Web 开发的新手,我正在制作我的课程项目。谢谢你的帮助

它就像一个系统,具有与库存和 POS 相关的不同模块,用户可以通过自定义设置选项卡从侧边栏中添加和删除项目

如下功能正在运行

此选项卡自定义包含所有模块,并且每个项目都有一个复选框,当用户单击项目复选框时,它应该被添加到侧边栏,当取消选中时,它会从侧边栏中删除

必填

当用户点击更新和刷新页面或什至从系统注销并登录时我是什么 选项卡应显示在侧边栏中

我怎样才能实现那部分?它与数据库有关吗?如果是,请给我一个方法,以便我可以工作

自定义标签的代码

<div class="col-md-3 sidebar-customize">
                <ul>
                    <li>
                      <a>
                        <input type="checkbox" id="customer" name="customer">
                        <i class="fa fa-print"></i> 
                <span>customer</span>
                      </a>
                    </li>
                </ul>
            </div>


Code of Jquery


 $('input[type="checkbox"]').click(function () {

    if(this.checked)
       $('#customer').fadeIn(1000,function(){
             $('#customer').css('overflow', 'none');
       });


    else 
       $('#customer').fadeOut();  

});

【问题讨论】:

    标签: jquery laravel-5 show-hide sidebar


    【解决方案1】:

    我在我参与的一个项目中做了类似的事情,侧边栏可以最小化,我们希望它在会话和页面等中保持不变。

    我们最终做的是添加一个表格来跟踪他们的“偏好”。这样我们可以将他们的选择保存到数据库中,然后在加载页面时使用它来决定是否应该最小化侧边栏。

    在您的情况下,使用这种模块方法 - 您可以实现相同的系统。

    我会创建一个新表来将每个模块的首选项存储在一列中,如下所示:

    +----+---------+----------+-----------+----------+------------+------------+
    | id | user_id | accounts | inventory | customer | created_at | updated_at |
    +----+---------+----------+-----------+----------+------------+------------+
    |  1 |       1 |        1 |         1 |        1 | today      | today      |
    |  2 |       2 |        1 |         1 |        0 | today      | today      |
    |  3 |       3 |        0 |         0 |        1 | today      | today      |
    +----+---------+----------+-----------+----------+------------+------------+
    

    这样,您可以将模块首选项链接为User 模型上的关系,并直接在您的视图中引用它。

    例如

    @if (Auth::user()->modules->accounts)
        //User is currently user ID 1
        show accounts menu
    @endif
    
    @if (Auth::user()->modules->accounts)
        //User is currently user ID 3
        do not show accounts menu
    @endif
    

    因为每个值都以整数形式存储在数据库中,并且引用为 1 表示是,0 表示否,您可以直接在 if 语句中使用它来决定是否应该显示它。

    最后,您只需要更新您的 jQuery 以在单击复选框以更新设置/首选项时触发 ajax 调用。

    【讨论】:

    • 太棒了,非常感谢@James,我是Upto的方法,我会在实施后回复你,请遵循
    • 我可以不保存来自 laravel 调用而不是 ajax 调用的日期
    • @Malik 你是什么意思?你将如何从 Laravel 调用中保存它?如果您说您更改了首选项,然后通过 Laravel 处理的表单提交,那么是的,您可以这样做。
    • 我已经通过ajax调用完成了任务。我在 js 中调试时遇到问题,这就是为什么。但无论如何我完成了任务thnx的帮助
    • 我遇到的问题是 php 和 Js 之间存在冲突客户没有点击自定义按钮,因为它什么都不做,因为现在上面的 if 条件不允许数据库更改
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多