私は次のレイアウトを持っています
<div id="tabs">
<ul>
<li><a href="#tabs-1">Create Username</a></li>
<li><a href="#tabs-2">View Search Logs</a></li>
<li><a href="#tabs-3">Assign Values Table</a></li>
<li><a href="#tabs-4">Edit Values Table</a></li>
<li><a href="#tabs-5">Create Values Table</a></li>
</ul>
<div id="tabs-1">
<h2>Create Username</h2>
</div>
<div id="tabs-2">
<h2>View Search Logs</h2>
</div>
<div id="tabs-3">
<h2>Assign Values Table</h2>
</div>
<div id="tabs-4">
<h2>Edit Values Table</h2>
</div>
<div id="tabs-5">
<h2>Create Values Table</h2>
</div>
</div>
各タブにはフォームがあり、フォームが送信されてページがリロードされたときに、表示されているタブをユーザーが最後に使用したタブのままにしたい(最初に戻るのではなく)。
各フォームには、そのタブのインデックスを含む隠しフィールドがあります。次に、以下を使用します。
<script type="text/javascript">
$(function() {
$("#tabs").tabs({
selected: <?php echo (isset($_POST['selected_tab']) ? $_POST['selected_tab'] : 1)?>
});
});
</script>
これにより、正しいものが表示されます。
<script type="text/javascript">
$(function() {
$("#tabs").tabs({
selected: 2
});
});
</script>
ただし、最初のタブは表示されるタブのままです。