之前已经问了几次问题,但没有一个与我的情景类似.
我有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>
Run Code Online (Sandbox Code Playgroud)
这些选项卡是基于访问权限显示的,因此我的选项卡索引永远不会相同,因此我id为每个选项卡添加了一个href.
我从各个地方链接到此特定页面,每个链接必须转到此页面并选择它所引用的选项卡.
我的网址看起来像这样: http://localhost:34412/Scheme/ViewSchemeDetails/BS-000469800000?activeTab=1
如何根据查询字符串中的activeTab参数使用jQuery选择选项卡?
请注意,查询字符串中的数字始终对应于我的id href.
获取查询字符串:
var queryString = window.location.search;
Run Code Online (Sandbox Code Playgroud)
得到的activeTab部分:
var activeTab = queryString.match(/\bactiveTab=([^&]*)/)[1];
Run Code Online (Sandbox Code Playgroud)
选择具有正确ID的选项卡:
$('#tab_' + activeTab).click();
Run Code Online (Sandbox Code Playgroud)