【发布时间】:2017-08-31 11:20:32
【问题描述】:
我有 2 个菜单管理类别和管理产品,点击时它变为“活动”。问题是,管理产品菜单下有“添加产品”按钮,当我去添加产品页面菜单“管理产品”时,不要保持“活动”。
<aside class="main-sidebar">
<section class="sidebar">
<ul class="sidebar-menu">
<li>
<a href="manage_category.php">
<i class="fa fa-table"></i> <span>Manage category</span>
</a>
</li>
<li>
<a href="manage_products.php">
<i class="fa fa-table"></i> <span>Manage products</span>
</a>
</li>
</ul>
</section>
<!-- /.sidebar -->
</aside>
<script type="text/javascript">
$(document).ready(function() {
var url = window.location;
// for sidebar menu entirely but not cover treeview
$('ul.sidebar-menu a').filter(function() {
return this.href == url;
}).parent().addClass('active');
});
</script>
【问题讨论】:
-
向我们展示您的
Add Products的html代码 -
“添加产品”页面有什么不同吗?还是仅在“管理产品”页面中?如果不同,则 url 不匹配并且不会添加类。
-
你必须有一个规则告诉系统哪些页面被认为是“管理产品”菜单的一部分。目前,它对当前 URL 进行简单匹配。如果 URL 与菜单项的 href 不匹配,则不会突出显示为活动的。要么确定可以匹配它们的模式(例如,文件名中存在短语“产品”将在您非常简单的示例中起作用),或者您必须在某处有某种页面列表,将它们映射到哪个菜单访问该页面时应突出显示项目,以及一些用于读取列表并采取相应措施的代码
-
@AsfandyarKhan :问题出在上面的 jquery 代码中,“添加产品”是不同的页面,仅包含用户添加产品详细信息并重定向到“管理产品”页面的表单。所以当用户在“添加产品”页面上工作时,我需要保持活跃的“管理产品”菜单
-
@bharatparmar 检查我的答案