2017-10-16 76 views
0

我用bootstrap实现了一个侧面菜单,它工作正常。 的html代码如下:如何启用ajax加载引导程序菜单

<div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> 
 
    <div class="menu_section"> 
 
     <ul class="nav side-menu"> 
 
      <li><a><i class="fa fa-home"></i> Main menu <span class="fa fa-chevron-down"></span></a> 
 
       <ul class="nav child_menu"> 
 
        <li><a href="http://localhost/admin/home">Home</a></li> 
 
        <li><a href="http://localhost/admin/admins/1/own_profiles">profile</a></li> 
 
        <li><a href="http://localhost/admin/admins/1/approve_requests?type=send">My request </a></li> 
 
       </ul> 
 
      </li> 
 
     </ul> 
 
    </div> 
 
</div>

当我改变使用AJAX方法来加载这个部分,它不能正常工作。 我可以在浏览器中看到“主菜单”,但无法展开。我检查了它的html中没有问题的源代码。

我猜bootstrap需要在html加载后做一些初始化工作,所以静态内容工作正常,但对于ajax加载方法,这部分未初始化,这是可能的原因。

但我不知道哪个API可以使用,有人可以给一些支持或指导吗?

谢谢

+0

“当我更改为使用ajax方法加载此部分时,它无法工作”...请向我们显示该代码,并解释您遇到的问题和/或错误消息。然后我们可以尝试修复它。我们无法解决我们看不到的问题。但是为了回应你以后的评论,如果bootstrap中的菜单功能取决于引导JS文件中的一些javascript,那么当你通过ajax加载它时你会遇到问题,除非你等到包括bootstrap.js到ajax之后完成。但是,为什么要通过ajax加载菜单?似乎有一个奇怪的要求。 – ADyson

回答

0

此问题已解决。 我犯了一个错误,我从模板“gentelella”复制菜单代码,我发现它不是自举菜单实现。

它有自己的菜单实现代码,我在build/js/customer.js找到init_sidebar(),它需要在更新菜单后调用这个例程。