我正在使用jQuery UI 1.9,并且我已经实现了标签小部件,就像在演示页面上详细说明的那样。 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中被弃用了,所以我不确定是否有办法再这样做了?
由于
答案 0 :(得分:1)
似乎jQuery UI摆脱了维持最新实现的状态。
之前,使用jQuery选项卡保持跨页面加载的状态非常简单。这是使用新代码执行此操作的一种可能方法。它仍然很容易,只是有点不同。
$("#tabs").tabs({
activate: function (e, ui) {
$.cookie('selected-tab', ui.newTab.index(), { path: '/' });
},
active: $.cookie('selected-tab')
});
答案 1 :(得分:0)
以下是我将如何实现会话跟踪变量......
$(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>
我只是为可能的解决方案提供一些逻辑。它应该有助于你开始。