jquery - 如何使用 bootstrap3 设置多级下拉菜单
问题描述
我需要在主菜单旁边放置一个子菜单。在我的代码中,它与主菜单重叠。
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;
}
我想要的是以下类型的输出:
解决方案
Because U r using append()
The append()
method inserts specified content at the end of the selected elements.
Don't Do that simply use Bootstrap class
You need to add some Bootstrap code with the help of class
which is already wrote on bootstrap CSS file and u need to add Javascript file for it
$(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>
This is JSFiddle you can edit and preview Here on JSFiddle
You Can Read Documentation about Dropdown Here
推荐阅读
- macos - 尝试使用
但它不工作 - azure - Azure CosmosDb UpsertDocumentAsync 提交与传播
- windows - 控制 EMACS 组织模式目录选择
- chef-infra - 如何在配方中运行 ruby 块并将结果传递给模板
- javascript - 如何在消费者而不是提供者中更改上下文?
- python - 如何使用 .filter()/.get() 查看值是否在外部模型中以在 Django 中进行验证?
- ios - iOS 开发者 ID 证书
- angular - 我如何在点击事件中调用一个函数
零件? - entity-framework - 实体框架维护多个插入的外键
- controller - 错误:未知属性,Visualforce 自定义控制器