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 为底,因此如果您想选择第二个选项卡,您的值需要为1.

于 2013-09-09T08:49:14.667 回答
-1

一种选择是包含jquery-cookie.js这样的使用选项卡:

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

这将使用 cookie 自动管理您上次打开的标签。

于 2013-09-09T08:49:50.880 回答