在adminlte中页面加载后加载动态 AJAX 侧边栏菜单jquery-3 bootstrap-4 treeview打开/隐藏不工作

yr9zkbsy  于 2023-06-05  发布在  jQuery
关注(0)|答案(2)|浏览(161)

我想从数据库中使用 AJAX 绘制动态侧边栏菜单数据在adminlte 3 Jmeter 板与引导4 Jmeter 板。当我使用 AJAX 动态加载侧栏菜单数据时,侧栏打开或折叠不起作用。当静态数据在没有 AJAX 的.sidebar类上推送时,菜单打开/隐藏工作。但是 AJAX 调用treeview菜单打开/隐藏不起作用。

$(document).ready(function(){
  var url = "";
    $.ajax({
    url: url,
  }).done(function(resp){
    //retrive data
    var ret = '<nav class="mt-2"><ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="true"><li class="nav-item"><a href="#" class="nav-link"><i class="nav-icon fas fas fa-user"></i><p>Admin<i class="right fas fa-angle-left"></i></p></a><ul class="nav nav-treeview"><li class="nav-item"><a href="#add-order.php" class="nav-link"><i class="far fa-circle nav-icon"></i><p>Rahim</p></a></li></ul><ul class="nav nav-treeview"><li class="nav-item"><a href="#" class="nav-link"><i class="far fa-circle nav-icon"></i><p>Test</p></a></li></ul></li></ul></nav>';
    $('.sidebar').html(ret);
  });
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<body class="sidebar-mini sidebar-closed sidebar-collapse" style="height: auto;">

<!-- Site wrapper -->
<div class="wrapper">
  <!-- Navbar -->
  <nav class="main-header navbar navbar-expand navbar-primary navbar-dark">
    <!-- Left navbar links -->
    
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
      </li>
      <!--
      <li class="nav-item d-none d-sm-inline-block">
        <a href="#" class="nav-link">Home</a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <a href="#" class="nav-link">Contact</a>
      </li>
      -->
    </ul>
    

    <!-- Right navbar links -->
    <ul class="navbar-nav ml-auto">
      <li class="nav-item dropdown user-menu">
        <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">
          <img src="public/images/login_man.png" class="user-image img-circle elevation-2" alt="User Image">
          <span class="d-none d-md-inline">admin</span>
        </a>
        <ul class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
          
 
          
          <!-- Menu Footer-->
          <li class="user-footer">
            <!--<a href="#" class="btn btn-default btn-flat">Profile</a>-->
            <a href="logout.php" class="btn btn-danger btn-flat float-right">Sign out</a>
          </li>
        </ul>
      </li>
      <!--
      <li class="nav-item">
        <a class="nav-link" data-widget="fullscreen" href="#" role="button">
          <i class="fas fa-expand-arrows-alt"></i>
        </a>
      </li>
      <li class="nav-item">
        <a class="nav-link" data-widget="control-sidebar" data-slide="true" href="#" role="button">
          <i class="fas fa-th-large"></i>
        </a>
      </li>
      -->
    </ul>
  </nav>
  <!-- /.navbar --><aside class="main-sidebar main-sidebar-custom sidebar-dark-primary elevation-4">
    <a href="#" class="brand-link">
        <i class="brand-image fas fa-tachometer-alt" style="opacity: .8"></i>
        <span class="brand-text font-weight-light">Dashboard</span>
    </a>
    <div class="sidebar">
    </div>
</aside>
<div class="container-fluid">
    <div class="content-wrapper" style="min-height: 549px;">

    </div>
  </div>
</div>
</body>
9udxz4iz

9udxz4iz1#

只需将代码放在success函数之后,它就会工作。

$('[data-widget="treeview"]').Treeview('init');
gmol1639

gmol16392#

为'AdminLTE-3.2.0'使搜索栏工作

$('[data-widget="sidebar-search"]').SidebarSearch('init')

相关问题