我有一个带有两个选项卡的 jquery-ui 选项卡组件。
<div id="tabs">
@Html.Hidden("SelectedTabId")
<ul>
<li><a href="#Tab-1">Tab1</a></li>
<li><a href="#Tab-2">Tab2</a></li>
</ul>
<div id="Tab-1">
</div>
<div id="Tab-2">
</div>
</div>
当我在 Tab-2 中时,我做了一些事情,导致 tab-2 中的某些字段 (@Html.TextBoxFor) 在某些情况发生时以编程方式自动更新。所以在它发生之后(字段更新)页面被重新加载。重新加载页面后,第一个选项卡 Tab-1 处于活动状态,但我希望 Tab-2 处于活动状态,而不是在重新加载页面之前处于活动状态。
我正在使用一个隐藏字段 SelectedTabId (请参见上面的代码),它保留当前活动选项卡,因此我使用选项卡上的选项卡索引对其进行更新,并在通过请求此值重新加载页面后激活正确的选项卡。见下面的代码:
<script type="text/javascript">
$(function () {
$("#tabs").tabs({ active: $('#SelectedTabId').val()});
}
$(document).ready(function () {
var tabs = $("#tabs").tabs({
beforeActivate: function (event, ui) {
$('#SelectedTabId').val(ui.newTab.index());
}
});
}
</script>
我希望以前的活动选项卡在页面重新加载后保持活动状态,但它不工作所以我做错了什么?
我正在使用 jQuery-ui 1.10.2