jQuery选项卡-获取所选选项卡的选项卡模板
我有三个标签。默认情况下选择Tab1。如果我点击Tab2;我想获取上一个选中的选项卡 我试过:jQuery选项卡-获取所选选项卡的选项卡模板,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,我有三个标签。默认情况下选择Tab1。如果我点击Tab2;我想获取上一个选中的选项卡 我试过: var previousTab; jQuery(function () { jQuery("#tabs").tabs({ select: function (event, ui){ doSomething(previousTab); previousTab = jQuery(ui.tab); },
var previousTab;
jQuery(function () {
jQuery("#tabs").tabs({
select: function (event, ui){
doSomething(previousTab);
previousTab = jQuery(ui.tab);
},
create: function (event, ui) {
previousTab = jQuery(ui.tab);
}
});
});
这不管用。谁能告诉我这个问题的解决办法吗
提前感谢。原因是,在
create
,ui
是一个空对象。如果您知道在开始时选择了第一个选项卡,只需在create
处将上一个选项卡变量分配给第一个选项卡即可
一个建议是:您可以将其存储在#tabs
元素中,而不是创建一个全局变量来跟踪上一个选项卡。通常,避免在全局范围内创建变量是一种良好的做法
$('#tabs').tabs({
select: function(event, ui) {
var previousTab = $(this).data('previousTab');
if (previousTab !== undefined)
console.log(previousTab);
$(this).data('previousTab', $(ui.tab));
},
create: function(event, ui) {
$(this).data('previousTab', $($(this).find('ul > li > a').get(0)));
}
});
jQuery(function () {
jQuery("#tabs").tabs({
select: function (event, ui) {
previousTab = jQuery(ui.tab);
},
show: function (event, ui) {
previousTab = jQuery(ui.tab);
}
});
});
查看它的操作:。我使用
show
函数解决了它。
previousTab
是全局范围内的变量
$('#tabs').tabs({
select: function(event, ui) {
var previousTab = $(this).data('previousTab');
if (previousTab !== undefined)
console.log(previousTab);
$(this).data('previousTab', $(ui.tab));
},
create: function(event, ui) {
$(this).data('previousTab', $($(this).find('ul > li > a').get(0)));
}
});
jQuery(function () {
jQuery("#tabs").tabs({
select: function (event, ui) {
previousTab = jQuery(ui.tab);
},
show: function (event, ui) {
previousTab = jQuery(ui.tab);
}
});
});
谢谢你的回答。我也找到了一种方法。但是你的看起来不错。在这种情况下,可能更适合称它为
currentTab
)