更改jQuery UI选项卡的选定选项卡

时间:2011-04-11 09:38:10

标签: jquery jquery-ui

此问题曾被问过几次,但没有一个与我的情景类似。

我有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>

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

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

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

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

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

2 个答案:

答案 0 :(得分:8)

获取查询字符串:

var queryString = window.location.search;

获取activeTab部分:

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

选择具有正确ID的标签:

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

答案 1 :(得分:2)

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

在你的情况下

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