如何使用bootstrap3设置多级下拉菜单

时间:2019-10-20 13:56:25

标签: jquery twitter-bootstrap-3 drop-down-menu

我需要在主菜单旁边放置一个子菜单。在我的代码中,它与主菜单重叠。

 for (var i = 0; i < data.length; i++){
    var PRODUCT_NAME=data[i]['PRODUCT_NAME'];
    $("#cust").append('<li class="dropdown" id="first"><a data-toggle="dropdown" class="dropdown-toggle" id='+PRODUCT_NAME+' name="master" href="#">'+PRODUCT_NAME+
                      '<span class="caret"></span></a><ul class="dropdown-menu" id=second'+PRODUCT_NAME+'></ul></li>');

    $('#second'+PRODUCT_NAME).append('<li class="list-group-item" id="second"><a id='+data[i]['CUSTOMER_NAME']+' name="master" href="#">'+data[i]['CUSTOMER_NAME']+
             '</a><ul class="dropdown-menu" id=third'+i+CUSTOMER_NAME+'></ul></li>');

$('#third'+i+CUSTOMER_NAME).append('<li class="list-group-item"><a data-toggle="dropdown" class="dropdown-toggle" aria-expanded="true" id='+data[i]['MASTER_ID']+' name="master_id"
 href="#">Q_MASTERID_'+data[i]['MASTER_ID']+'_CLUSTER</a></li>');

css

 .dropdown-submenu {
      position: relative;
    }

    .dropdown-submenu .dropdown-menu {
      top: 0;
      left: 100%;
      margin-top: -1px;
    }

我的代码输出: My output

我想要的是以下输出类型:

Actually needed

1 个答案:

答案 0 :(得分:0)

因为U使用append()append()方法将指定的内容插入到选定元素的末尾。

请勿仅使用Bootstrap class

您需要借助class添加一些Bootstrap代码,该代码已经写在引导CSS文件上,并且您需要为其添加Javascript文件

$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
  
  <div class="container">
  <h2>Multi-Level Dropdowns</h2>
                                        
  <div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
      <li><a tabindex="-1" href="#">HTML</a></li>
      <li><a tabindex="-1" href="#">CSS</a></li>
      <li class="dropdown-submenu">
        <a class="test" tabindex="-1" href="#">New dropdown <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li class="dropdown-submenu">
            <a class="test" href="#">Another dropdown <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a href="#">3rd level dropdown</a></li>
              <li><a href="#">3rd level dropdown</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>
</div>

这是 JSFiddle ,您可以编辑和预览Here on JSFiddle

您可以阅读有关下拉列表Here的文档