我定义了我的jQuery标签:
$('#serviceTabs').tabs({
idPrefix: 'ui-subtabs-',
spinner: 'Retrieving data...',
cache: false,
select: function(event, ui) {
if(checkServiceTabs(ui.index))
{
$('#ui-subtabs-'+(currentDetailTab+1)).html(" ");
currentDetailTab = ui.index;
return true;
}
else
return false;
},
collapsible: true
});
不幸的是,重新加载页面后,我的标签索引会逐渐提升。 所以在第一次请求我的TabID看起来像:
#ui-subtabs-1, #ui-subtabs-2, #ui-subtabs-3
重新加载页面后,它看起来像:
#ui-subtabs-4, #ui-subtabs-5, #ui-subtabs-6
副作用是,重新加载后标签被锁定。 select事件不再起作用。
仅供参考:标签位于DIV中并与$.get
功能合并。
所以我不重新加载整个页面,只有div。
在新请求之前,我已经使用.html(" ")
删除了div,我也尝试了
$('#serviceTabs').tabs("destroy");
有人知道如何删除TabID缓存吗?
答案 0 :(得分:0)
不幸的是,TabID来自的tabIndex
变量封装在Tabs插件的匿名函数中,使其对外部世界完全不可见。它只是递增,插件没有提供重置它的方法。即使破坏插件的实例也无济于事。
在插件文档的overview页面上,指定使用<a>
元素的Title属性作为标签按钮,可以引用标签容器。
然后你会对标签按钮进行这种标记:
<li><a href="hello/world.html" title="My Tab 1"> ... </a></li>
这将创建标题为ID的标签容器(用下划线替换空格):
<div id="My_Tab_1"> ... </div>
然后你可以相应地修改select方法。