jQuery MMenu open to Sub Menu

jQuery MMenu open to Sub Menu with Bootstrap NAV drop down

by megaadriano

HTML

<div class="container">

  <!-- Static navbar -->
  <nav class="navbar navbar-default">
    <div class="container-fluid">
      <div class="navbar-header">
        <a class="navbar-brand" href="#">Project name</a>
      </div>
      <div id="navbar" >
        <ul class="nav navbar-nav">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
            <ul class="dropdown-menu">
              
              <li><a href="javascript:setMMenu('#top');openMMenu();">Menu</a></li>
              <li><a href="javascript:setMMenu('#Option-2');openMMenu();">Option 2</a></li>
              <li><a href="javascript:setMMenu('#Option-2-2');openMMenu();">Option 2-2</a></li>
              <li><a href="javascript:setMMenu('#Option-3');openMMenu();">Option 3</a></li>
              <li><a href="javascript:setMMenu('#Option-3-3');openMMenu();">Option 3-3</a></li>
              <li><a href="javascript:setMMenu('#Option-3-3-2');openMMenu();">Option 3-3-2</a></li>
            </ul>
          </li>
        </ul>
      </div>
      <!--/.nav-collapse -->
    </div>
    <!--/.container-fluid -->
  </nav>

  <!-- The menu -->
  <nav id="menu">
    <ul >
      <li id="top"><a href="#">Option 1</a></li>
      <li ><span>Option 2</span>
        <ul id="Option-2">
          <li ><a href="#">Option 2-1</a></li>
          <li ><span>Option 2-2</span>
            <ul id="Option-2-2">
              <li ><a href="#">Option 2-2-1</a></li>
              <li><a href="#">Option 2-2-2</a></li>
              <li><a href="#">Option 2-2-3</a></li>
            </ul>
          </li>
          <li><a href="#">Option 2-3</a></li>
        </ul>
      </li>
      <li><span>Option 3</span>
        <ul id="Option-3">
          <li><a href="#">Option 3-1</a></li>
          <li><a href="#">Option 3-2</a></li>
          <li><span>Option 3-3</span>
            <ul...

CSS

@import url("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/5.6.1/css/jquery.mmenu.all.css");

JavaScript

var myMenu = $("#menu");
var $main = $("#menu").find( ".mm-panel" ).first();


// initialize mmenu
myMenu.mmenu({});

// initialize mmenu API
var myMenuAPI = myMenu.data( "mmenu" );
myMenuAPI.bind( 'init', function( $panels ) {
    $panels.each(function() {
        if ($(this)[ 0 ] !== main[ 0 ] ) {
            $(this).find( ".mm-prev" ).text( "Back" );
        } 
    });
} );

// function to set to specific subMenu
function setMMenu(subMenu) {
  // set to subMenu
  var current = myMenu.find(subMenu);

  // myMenuAPI.setSelected(current.first());
  myMenuAPI.openPanel(current.closest(".mm-panel")); 
}

// function to open mmmenu to specific subMenu
function openMMenu() {
  myMenuAPI.open();
}