【问题标题】:Change Selected tab of jQuery UI tabs更改 jQuery UI 选项卡的选定选项卡
【发布时间】:2011-04-11 09:38:10
【问题描述】:

这个问题之前已经问过几次了,但没有一个与我的场景相似。

我有 jQuery Tabs 控件,可以通过 ajax 加载我的标签:

<div id="tabs">
<ul>
    <% if (AccessControll.HasAccess(Url.Action("ViewSchemeInformation","Scheme"))){%>
        <li><a id="tab_1" href="<%= Url.Action("ViewSchemeInformation","Scheme", new {schemeNumber = Model.SchemeNumber}) %>">Information</a></li>
    <%}%>
    <% if (AccessControll.HasAccess(Url.Action("SchemeUpdate", "Scheme"))){%>
        <li><a id="tab_2" href="<%= Url.Action("SchemeUpdate","Scheme", new {schemeNumber = Model.SchemeNumber}) %>">Update</a></li>
    <%}%>
    <%if (AccessControll.HasAccess(Url.Action("MinimumRequirements","Scheme"))){%>
        <li><a id="tab_3" href="<%= Url.Action("MinimumRequirements","Scheme", new {schemeNumber = Model.SchemeNumber}) %>">Minimum Requirements</a></li>
    <%}%>
</ul>

这些选项卡是根据访问权限显示的,因此我的选项卡索引永远不会相同,因此我为每个 href 添加了一个 id

我从不同的地方链接到这个特定的页面,每个链接都必须转到这个页面并选择它所指的标签。

我的网址看起来像这样:http://localhost:34412/Scheme/ViewSchemeDetails/BS-000469800000?activeTab=1

如何根据查询字符串中的 activeTab 参数使用 jQuery 选择选项卡?

请注意,查询字符串中的数字始终对应于我的href 的 id。

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

    获取查询字符串:

    var queryString = window.location.search;
    

    获取activeTab 部分:

    var activeTab = queryString.match(/\bactiveTab=([^&]*)/)[1];
    

    选择具有正确 ID 的选项卡:

    $('#tab_' + activeTab).click();
    

    【讨论】:

    • 只是让您知道,$('#tab_' + activeTab).click(); 存在一些 ie7 问题
    【解决方案2】:
    tabs_object.tabs('widget').tabs("option", 'selected', 2);
    

    在你的情况下

    tabs_object.tabs('widget').tabs("option", 'selected', activeTab);
    

    【讨论】:

    • 这可能适用于旧版本的标签小部件。 “active”(而不是“selected”)是当前有效的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多