1

私は次のレイアウトを持っています

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

ただし、最初のタブは表示されるタブのままです。

4

2 に答える 2

0
     $("#tabs").tabs({ 
            selected: 2 
        });

次のようにする必要があります。

     $("#tabs").tabs({ 
            active: 2 
        });

タブは、activeプロパティではなくselectedプロパティを使用します。また、インデックスはベース 0 であるため、2 番目のタブを選択する場合は、値を にする必要があることに注意してください1

于 2013-09-09T08:49:14.667 に答える
-1

1 つのオプションは、次jquery-cookie.jsのような使用タブを含めることです。

$( "#tabs" ).tabs({
    cookie: {
        expires: 1
    }
});

これにより、最後に開いたタブが Cookie で自動的に管理されます。

于 2013-09-09T08:49:50.880 に答える