Javascript 两个引导选项卡同时显示为活动状态

Javascript 两个引导选项卡同时显示为活动状态,javascript,jquery,css,html,twitter-bootstrap,Javascript,Jquery,Css,Html,Twitter Bootstrap,我有五个选项卡正在使用引导进行动画。在我添加最后一个选项卡:管理之前,它们工作得很好。单击管理选项卡时,超级管理员选项卡在导航中显示为仍处于活动状态。但是,当我单击SuperAdmin选项卡时,我没有相同的问题。此时“管理”选项卡处于非活动状态。因此,问题只会以一种方式发生。创建管理选项卡时,我从该选项卡进行了一些复制和粘贴,因为设计类似。我想这就是问题的原因,但我找不到确切的问题 单击“管理”选项卡时,我确实尝试从“超级管理员”选项卡中删除活动类,但这似乎不起作用: <script>

我有五个选项卡正在使用引导进行动画。在我添加最后一个选项卡:管理之前,它们工作得很好。单击管理选项卡时,超级管理员选项卡在导航中显示为仍处于活动状态。但是,当我单击SuperAdmin选项卡时,我没有相同的问题。此时“管理”选项卡处于非活动状态。因此,问题只会以一种方式发生。创建管理选项卡时,我从该选项卡进行了一些复制和粘贴,因为设计类似。我想这就是问题的原因,但我找不到确切的问题

单击“管理”选项卡时,我确实尝试从“超级管理员”选项卡中删除活动类,但这似乎不起作用:

<script>
$("#management").click(function () {
    $("#super-admin").removeClass("active");
});

$(“#管理”)。单击(功能(){
$(“#超级管理员”).removeClass(“活动”);
});

这是导航:

<ul class="nav nav-tabs" id="navTabs">

<li @(Request.Url.AbsoluteUri.Contains("Create") ? Html.Raw("class=\"active\"") : Html.Raw("")) > @Html.ActionLink("Add Record", "Create", "Home")</li>

<li @(Request.Url.AbsoluteUri.Contains("Search") ? Html.Raw("class=\"active\"") : Html.Raw("")) >@Html.ActionLink("Search", "Search", "Home")</li>

@if (User.IsInRole("Admin") || User.IsInRole("SuperAdmin") || User.IsInRole("Manager"))
        {
            <li @(Request.Url.AbsoluteUri.Contains("Category") ? Html.Raw("class=\"active\"") : Html.Raw("")) >@Html.ActionLink("Admin", "Index", "Category")</li>
        }

@if (User.IsInRole("SuperAdmin") || User.IsInRole("Manager"))
        {
            <li @(Request.Url.AbsoluteUri.Contains("SuperAdmin") ? Html.Raw("class=\"active\"") : Html.Raw("")) >@Html.ActionLink("SuperAdmin", "Index", "SuperAdmin")</li>
        }
@if (User.IsInRole("Manager"))
        {
            <li @(Request.Url.AbsoluteUri.Contains("Management") ? Html.Raw("class=\"active\"") : Html.Raw(""))>@Html.ActionLink("Management", "Index", "Management")</li>
        }
        <li >@Html.ActionLink("Logoff", "Logoff", "Home")</li>

    </ul>
    @Html.ActionLink(“添加记录”、“创建”、“主页”) @Html.ActionLink(“Search”、“Search”、“Home”) @if(User.IsInRole(“管理员”)| | User.IsInRole(“超级管理员”)| | User.IsInRole(“管理员”)) { @Html.ActionLink(“Admin”、“Index”、“Category”) } @if(User.IsInRole(“超级管理员”)| | User.IsInRole(“管理者”)) { @Html.ActionLink(“超级管理员”、“索引”、“超级管理员”) } @if(User.IsInRole(“管理者”)) { @Html.ActionLink(“管理”、“索引”、“管理”) }
  • @Html.ActionLink(“注销”、“注销”、“主页”)
我能做的最好的事情就是在JSFIDLE中展示这一点:

已选择超级管理员:

选定的管理层:

您可以看到超级管理员选项卡仍然激活该类


任何帮助都将不胜感激。谢谢

单击“管理”选项卡时,您正在检查请求.Url.AbsoluteUri.Contains(“管理”)

当您导航到“管理”选项卡时,url是否会在路径中包含“超级管理员”或“管理员”一词


尝试调试应用程序并检查
Request.Url.AbsoluteUri

似乎发生了错误,因为我正在检查绝对Uri是否包含单词“Manage”,这对两个选项卡都是正确的。我没有检查并更改我的控制器名称,而是将路由更改为一个新名称“SuperAdmin”

因此,在我的RouteConfig中,我将控制器路由映射到SuperAdmin:

            routes.MapRoute(
            "ManageRoute",
            "SuperAdmin/{id}",
            new { controller = "Manage", action = "Index", id = UrlParameter.Optional }
            );
然后检查Uri是否包含以下内容:

<li @(Request.Url.AbsoluteUri.Contains("SuperAdmin")

你能在jsfiddle上复制这个问题吗?当然,我会在几分钟后发布,因为我使用的.net元素无法在jsfiddle中复制。如果您认为错误不在上面显示的代码块中,我可以根据需要在这里添加任何其他代码。我确实为clarityPlease添加了一些图片,请发布呈现的HTML。net在这里是无关紧要的。你应该在你的问题中创建一个代码片段,或者链接到像bootply这样的站点上的一个示例。好的,让我来试试