2 つのタブを持つ 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 を使用しています