I have a navigation menu (menu inside menu) like this:
<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>
I want to set a PHP vriable while clicking a menu-item and it works only if i remove the data-submenu
which means i want be able to navigate to the second menu.
I use $_GET['lvl']
to read my variable.
Any ideas on how to solve this, or do it in another way ?
My js code:
<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>