[英]Show/hide container with bootstrap drop-down menu?
我有一个下拉菜单,应该显示用户从下拉菜单中选择的部分。 我创建了一个简单的示例来显示我的代码以及如何显示/隐藏容器。 到目前为止一切正常。
$(document).ready(function() { $('#main-menu').find('a[data-container=hearing-container]').trigger('click').parent().addClass('active'); $('#main-container > div[id=test-container]').show(); $('#main-container > div:not([id=test-container])').hide(); }); $("#main-menu li a").on('click', mainMenu); function mainMenu() { var itemID = $(this).attr('data-container'); $(this).parent().addClass('active').siblings().removeClass('active'); $('#main-container > div[id="' + $(this).attr('data-container') + '"]').show(); $('#main-container > div:not([id="' + $(this).attr('data-container') + '"])').hide(); }
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script language="javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <div id="main-container" class="container"> <nav class="navbar navbar-default"> <div class="container-fluid"> <p class="navbar-text"><span class="glyphicon glyphicon-home"></span> <b>Welcome to Single Page Application!</b></p> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu<span class="caret"></span></a> <ul id="main-menu" class="dropdown-menu"> <li><a href="#" data-container="home-container">Home</a></li> <li><a href="#" data-container="test-container">Test</a></li> <li><a href="#" data-container="reports-container">Reports</a></li> <li><a href="#" data-container="settings-container">Settings</a></li> </ul> </li> </ul> </div> </nav> <div id="home-container"> <ul id="agecny-navbar" class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#agency-myaccount">My Account</a></li> <li><a data-toggle="tab" href="#agency-finduser">Find User</a></li> </ul> <div class="tab-content"> <div id="agency-myaccount" class="tab-pane fade in active" data-name="MyAccount"> <form name="frm_myaccount" id="frm_myaccount" class="frm-agencySubmit" autocomplete="off"> <div class="form-group required"> <label class="control-label" for="acctive">Account Active</label> <select class="form-control" name="frm_active" id="frm_active" required> <option value="">-- Select the option --</option> <option value="0">No</option> <option value="1">Yes</option> </select> </div> </div> </div> </div> </div> <div id="test-container"> Test </div> <div id="reports-container"> Reports </div> <div id="settings-container"> Settings </div> </div>
然后,我添加了更多在容器中实际使用的代码。 在这种情况下,上一个示例中的代码将中断并显示所有容器。 我一步一步走了,似乎一旦添加了带有元素代码的form
标签,它就会开始崩溃。 如果我删除,一切正常。 我不确定引导程序是否不支持这些方法中的任何一种或其他原因导致此问题。 如果有人在我的代码中看到问题所在,请告诉我。 谢谢。
没有form
结束标签,请进行更改。 希望您关闭</form>
后它能正常工作。
您错过了“ Form”关闭并在div(“#home-container”)之后添加了一个额外的“ Div”关闭 。
更新以下代码:
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script language="javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div id="main-container" class="container">
<nav class="navbar navbar-default">
<div class="container-fluid">
<p class="navbar-text"><span class="glyphicon glyphicon-home"></span> <b>Welcome to Single Page Application!</b></p>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Menu<span class="caret"></span></a>
<ul id="main-menu" class="dropdown-menu">
<li><a href="#" data-container="home-container">Home</a></li>
<li><a href="#" data-container="test-container">Test</a></li>
<li><a href="#" data-container="reports-container">Reports</a></li>
<li><a href="#" data-container="settings-container">Settings</a></li>
</ul>
</li>
</ul>
</div>
</nav>
<div id="home-container">
<ul id="agecny-navbar" class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#agency-myaccount">My Account</a></li>
<li><a data-toggle="tab" href="#agency-finduser">Find User</a></li>
</ul>
<div class="tab-content">
<div id="agency-myaccount" class="tab-pane fade in active" data-name="MyAccount">
<form name="frm_myaccount" id="frm_myaccount" class="frm-agencySubmit" autocomplete="off">
<div class="form-group required">
<label class="control-label" for="acctive">Account Active</label>
<select class="form-control" name="frm_active" id="frm_active" required>
<option value="">-- Select the option --</option>
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</div>
</form>
</div>
</div>
</div>
<div id="test-container">
Test
</div>
<div id="reports-container">
Reports
</div>
<div id="settings-container">
Settings
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.