保存jQuery UI选项卡的状态
我使用的是jQueryUI1.9,我已经实现了tabs小部件,与演示页面上的详细内容基本相同。PHP动态提供选项卡内的数据保存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"
<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”的会话项并引用它。