如何在db laravel 6中添加活动类到菜单中?

问题描述 投票:0回答:1

我有一个从数据库中生成的用户菜单,这样就不用每次需要添加或删除菜单时都对文件进行修改。这为我提供了很大的灵活性。我有一个问题,就是如何将一个活动类分配给用户菜单的 li 元素,当用户选择一个菜单时。例如,我有3个层次,主菜单、子菜单和子菜单。我希望jquery函数能够工作,如果用户点击子菜单,那么子菜单、子菜单和主菜单都会得到活动类,如果用户只点击子菜单,那么子菜单和主菜单应该有活动类。我在网上找了好几天,都没有找到任何解决办法,我的html代码是这样的:如果用户只点击子菜单,那么子菜单和主菜单就应该有活动类。我的html代码如下。

                  <?php foreach ($menus as $menu) { ?>
                    <li class='mainmenu'>
                        <a>
                            <i class="{{ $menu->menu_icon }}"></i>
                            <span class="link-title menu_hide">&nbsp; {{ $menu->menu_name }}</span>
                            <span class="fa arrow menu_hide"></span>
                        </a>
                        <ul>
                            <?php foreach ($submenus as $submenu) { ?>
                            <?php if($submenu->is_level2 == '1' && $submenu->mainmenu_id == $menu->menu_id){ ?>
                            <li class="submenu">
                                <a href="javascript:;">
                                    <i class="fa fa-angle-right"></i>
                                    &nbsp; {{ $submenu->submenu_name }}
                                    <span class="fa arrow"></span>
                                </a>
                                <ul>
                                     <?php foreach ($subsubmenus as $subsubmenu) { ?>
                                        <?php if($subsubmenu->submenu_number == $submenu->submenu_number){ ?>
                                        <li class="subsubmenu">
                                            <a href="{{ url($subsubmenu->level2_link) }}">
                                                <i class="fa fa-angle-right"></i>
                                                &nbsp; {{ $subsubmenu->level2_name }}
                                            </a>
                                        </li>
                                        <?php } ?>
                                    <?php } ?>
                                </ul>
                            </li>
                            <?php } else { ?>
                                <?php if($submenu->mainmenu_id == $menu->menu_id){ ?>
                                <li class="submenu">
                                    <a href="{{ url($submenu->submenu_link) }}">
                                        <i class="fa fa-angle-right"></i>
                                        &nbsp; {{ $submenu->submenu_name }}
                                    </a>
                                </li>
                                <?php } } ?>
                            <?php } ?>
                        </ul>
                    </li>
                    <?php } ?>

请帮我找一个合适的jquery函数来实现这个功能。你的帮助将是非常感激的。

javascript php html jquery laravel
1个回答
1
投票

这个应该可以解决这个问题。

Request::is('user/profile')
// Checks and returns true if current url is a match


<li class="@if(Request::is($subsubmenu->level2_link)) active @endif">
       <a href="{{ url($submenu->submenu_link) }}" >Dashboard</a>
</li>

你也可以像这样使用。

class="@if(preg_match("/$module[0]/i",$uri)) active open @endif"
© www.soinside.com 2019 - 2024. All rights reserved.