保存jQuery UI选项卡的状态

保存jQuery UI选项卡的状态,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,我使用的是jQueryUI1.9,我已经实现了tabs小部件,与演示页面上的详细内容基本相同。PHP动态提供选项卡内的数据 <script> $(function() { $( "#tabs" ).tabs( { collapsible: true }); }); </script> <div id="tabs"

我使用的是jQueryUI1.9,我已经实现了tabs小部件,与演示页面上的详细内容基本相同。PHP动态提供选项卡内的数据

<script>

$(function()
    {
        $( "#tabs" ).tabs(
            {
                collapsible: true                   
            });
    });

</script>

<div id="tabs">

    <ul>
        <li><a href="#holdings">Holdings</a></li>
        <li><a href="#personal">Personal</a></li>
        <li><a href="#account">Account</a></li>
    </ul>

    <div id="holdings">
        blah blah blah
    </div>

    <div id="personal">
        blah blah blah
    </div>

    <div id="account">
        blah blah blah
    </div>

</div>

$(函数()
{
$(“#制表符”)。制表符(
{
可折叠:正确
});
});
废话废话 废话废话 废话废话
我的问题是-如何保存选项卡的状态?因此,如果我在看一个客户,打开“个人”选项卡,如何加载下一个客户,并自动显示相同的选项卡

我环顾了一下网络,前面的答案指向使用cookie选项。失败的测试和一些进一步的研究表明,该功能在1.9中已被弃用,因此我不确定是否还有其他方法可以做到这一点


谢谢

以下是我将如何实现会话跟踪变量

$(function()
    {
        $( "#tabs" ).tabs(
            {
               **create: function( event, ui ) {
                    //use the create method to see if a 'client-tab-index' session 
                    //variable is set.  if so, use it to open the needed tab. if not
                    // do nothing.
                },**
                collapsible: true  ,
                **activate: function( event, ui ) {
                      //use the activate method to store the current active tab
                      //to a 'client-tab-index' session variable.  the current tab 
                      //index value is referenced with ui.newTab
                }**
            });
    });

</script>

<div id="tabs">

    <ul>
        <li><a href="#holdings">Holdings</a></li>
        <li><a href="#personal">Personal</a></li>
        <li><a href="#account">Account</a></li>
    </ul>

    <div id="holdings">
        blah blah blah
    </div>

    <div id="personal">
        blah blah blah
    </div>

    <div id="account">
        blah blah blah
    </div>

</div>

$(函数()
{
$(“#制表符”)。制表符(
{
**创建:函数(事件、用户界面){
//使用create方法查看“客户端选项卡索引”会话
//变量已设置。如果已设置,请使用它打开所需的选项卡。如果未设置
//什么也不做。
},**
可折叠的:是的,
**激活:功能(事件、用户界面){
//使用激活方法存储当前活动选项卡
//到“客户端选项卡索引”会话变量。当前选项卡
//索引值由ui.newTab引用
}**
});
});
废话废话 废话废话 废话废话

我只是为可能的解决方案提供一些逻辑。这应该有助于你开始

下面是我如何实现会话跟踪变量

$(function()
    {
        $( "#tabs" ).tabs(
            {
               **create: function( event, ui ) {
                    //use the create method to see if a 'client-tab-index' session 
                    //variable is set.  if so, use it to open the needed tab. if not
                    // do nothing.
                },**
                collapsible: true  ,
                **activate: function( event, ui ) {
                      //use the activate method to store the current active tab
                      //to a 'client-tab-index' session variable.  the current tab 
                      //index value is referenced with ui.newTab
                }**
            });
    });

</script>

<div id="tabs">

    <ul>
        <li><a href="#holdings">Holdings</a></li>
        <li><a href="#personal">Personal</a></li>
        <li><a href="#account">Account</a></li>
    </ul>

    <div id="holdings">
        blah blah blah
    </div>

    <div id="personal">
        blah blah blah
    </div>

    <div id="account">
        blah blah blah
    </div>

</div>

$(函数()
{
$(“#制表符”)。制表符(
{
**创建:函数(事件、用户界面){
//使用create方法查看“客户端选项卡索引”会话
//变量已设置。如果已设置,请使用它打开所需的选项卡。如果未设置
//什么也不做。
},**
可折叠的:是的,
**激活:功能(事件、用户界面){
//使用激活方法存储当前活动选项卡
//到“客户端选项卡索引”会话变量。当前选项卡
//索引值由ui.newTab引用
}**
});
});
废话废话 废话废话 废话废话

我只是为可能的解决方案提供一些逻辑。这应该有助于你开始

jqueryui似乎用最新的实现摆脱了对状态的维护

以前,使用jQuery选项卡保持页面加载状态非常简单。这是使用新代码实现这一点的一种可能方法。这仍然很简单,只是有点不同

$("#tabs").tabs({
    activate: function (e, ui) { 

    $.cookie('selected-tab', ui.newTab.index(), { path: '/' }); 

}, 
   active: $.cookie('selected-tab')  
});

jQueryUI似乎用最新的实现摆脱了状态维护

以前,使用jQuery选项卡保持页面加载状态非常简单。这是使用新代码实现这一点的一种可能方法。这仍然很简单,只是有点不同

$("#tabs").tabs({
    activate: function (e, ui) { 

    $.cookie('selected-tab', ui.newTab.index(), { path: '/' }); 

}, 
   active: $.cookie('selected-tab')  
});

实现您自己的cookie解决方案,或者创建一个名为“client\u tab\u index”的会话项并引用它。实现您自己的cookie解决方案,或者创建一个名为“client\u tab\u index”的会话项并引用它。