在导航菜单中设置php变量

时间:2018-07-25 12:38:06

标签: javascript php html

我有一个像这样的导航菜单(菜单内的菜单):

<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>

0 个答案:

没有答案