重新加载页面后保持活动的 jQuery UI 选项卡和与其相关的子选项卡
Posted
技术标签:
【中文标题】重新加载页面后保持活动的 jQuery UI 选项卡和与其相关的子选项卡【英文标题】:Keep active jQuery UI tab and related to it sub-tab after reloading page 【发布时间】:2018-11-17 09:11:19 【问题描述】:我想在。 目前,我只保留标签。
我使用下一个脚本:
$(".tabs").tabs(
active: localStorage.getItem("currentIdx"),
activate: function (event, ui)
localStorage.setItem("currentIdx", $(this).tabs('option','active'));
);
https://codepen.io/evgenydym/pen/YvGRER
【问题讨论】:
【参考方案1】:您可以使用在会话存储中存储值来做到这一点:
https://codepen.io/creativedev/pen/PaGerK
$(document).ready(function ()
var i = "0";
var j ="0";
$tab = $(".tabs").tabs(
activate : function (e, ui)
tabid = ui.newPanel.attr('id');
if(tabid.indexOf("sub") != -1)
sessionStorage.setItem('sub-tab-index', ui.newPanel.attr('id'));
else
sessionStorage.setItem('tab-index', ui.newPanel.attr('id'));
);
if (sessionStorage.getItem('tab-index') != null)
i = sessionStorage.getItem('tab-index');
if(i !='')
$('.tabs li').each(function()
var ac = $(this).attr('aria-controls');
if(ac.indexOf("sub") == -1)
$(this).removeClass("ui-tabs-active ui-state-active");
console.log(ac)
console.log($('#'+ ac).css('display', 'none'));
);
$("#"+i).css('display','block');
$('.tabs').find("[aria-controls='"+i+"']").find('a').trigger('click');
$('.tabs').find("[aria-controls='"+i+"']").addClass('ui-tabs-active ui-state-active');
//sessionStorage.removeItem('tab-index')
if (sessionStorage.getItem('sub-tab-index') != null)
j = sessionStorage.getItem('sub-tab-index');
if(j !='')
$('.tabs li').each(function()
var ac1 = $(this).attr('aria-controls');
if(ac1.indexOf("sub") != -1)
$(this).removeClass("ui-tabs-active ui-state-active");
);
$('.tabs').find("[aria-controls='"+j+"']").find('a').trigger('click');
$('.tabs').find("[aria-controls='"+j+"']").addClass('ui-tabs-active ui-state-active');
// sessionStorage.removeItem('sub-tab-index');
);
【讨论】:
感谢您的快速回复。您的示例与选项卡相关,但我很想知道如何为子选项卡实现相同的功能。以上是关于重新加载页面后保持活动的 jQuery UI 选项卡和与其相关的子选项卡的主要内容,如果未能解决你的问题,请参考以下文章
页面重新加载后,如何使用 twitter bootstrap 保持当前选项卡处于活动状态?
重新加载页面后保持按钮处于活动状态(使用 PHP 和 HTML)
通过jquery滑块发送获取请求并在页面重新加载后保持滑块上的值[重复]
如果选项卡未处于活动状态,jqgrid 无法在 jquery-ui 选项卡下正确加载