首页 > 解决方案 > 在导航菜单中设置 php 变量

问题描述

我有一个导航菜单(菜单内的菜单),如下所示:

<nav id="ml-menu" class="menu">
    <div class="menu__wrap">
        <ul data-menu="main" class="menu__level" tabindex="-1" role="menu" aria-label="All">
            <li class="menu__item" role="menuitem"><a class="menu__link" data-submenu="submenu-1" aria-owns="submenu-1" href="./index.php?lvl=AP">AP</a></li>
        </ul>

        <ul data-menu="submenu-1" id="submenu-1" class="menu__level" tabindex="-1" role="menu" aria-label="Vegetables">
            <li class="menu__item" role="menuitem"><a class="menu__link" data-submenu="submenu-1-1" aria-owns="submenu-1-1" href="./index.php?lvl=AP">AP1</a></li>
        </ul>
    </div>
</nav>

我想在单击菜单项时设置一个 PHP 变量,它只有在我删除它时才有效,data-submenu这意味着我希望能够导航到第二个菜单。

$_GET['lvl']用来读取我的变量。

关于如何解决这个问题的任何想法,或者以另一种方式来做?

我的js代码:

<script>
    (function() {

        var menuEl = document.getElementById('ml-menu'),
            mlmenu = new MLMenu(menuEl, {
                backCtrl : false, // show back button
                onItemClick: loadDummyData // callback: item that doesn´t have a submenu gets clicked - onItemClick([event], [inner HTML of the clicked item])
            });

        // mobile menu toggle
        var openMenuCtrl = document.querySelector('.action--open'),
            closeMenuCtrl = document.querySelector('.action--close');

        openMenuCtrl.addEventListener('click', openMenu);
        closeMenuCtrl.addEventListener('click', closeMenu);



        function openMenu() {
            classie.add(menuEl, 'menu--open');
            closeMenuCtrl.focus();
        }

        function closeMenu() {
            classie.remove(menuEl, 'menu--open');
            openMenuCtrl.focus();
        }

        var gridWrapper = document.querySelector('.content');

        function loadDummyData(ev, itemName) {
            ev.preventDefault();
            closeMenu();

            gridWrapper.innerHTML = '';
            classie.add(gridWrapper, 'content--loading');
            setTimeout(function() {
                classie.remove(gridWrapper, 'content--loading');
                $('#table_id').DataTable();

                gridWrapper.innerHTML = 'some code...'

            }, 700);

        }
    })();
</script>

标签: javascriptphphtml

解决方案


推荐阅读