我以前使用jquery-ui tabs
扩展来通过 加载页面片段ajax
,并隐藏或显示div
页面中的隐藏 s。这两种方法都有据可查,我在那里没有遇到任何问题。
然而,现在我想用标签做一些不同的事情。当用户选择一个选项卡时,它应该完全重新加载页面 - 原因是每个选项卡部分的内容渲染起来有点贵,所以我不想一次全部发送并使用普通方法切换“显示:无”以显示它们。
我的计划是拦截选项卡的select
事件,并通过操作 document.location 让该功能重新加载页面。
如何在select
处理程序中获取新选择的选项卡索引及其对应的 html LI 对象?
$('#edit_tabs').tabs( {
selected: 2, // which tab to start on when page loads
select: function(e, ui) {
var t = $(e.target);
// alert("data is " + t.data('load.tabs')); // undef
// alert("data is " + ui.data('load.tabs')); // undef
// This gives a numeric index...
alert( "selected is " + t.data('selected.tabs') )
// ... but it's the index of the PREVIOUSLY selected tab, not the
// one the user is now choosing.
return true;
// eventual goal is:
// ... document.location= extract-url-from(something); return false;
}
});
是否有我可以读取的事件或 ui 对象的属性将给出新选择的选项卡或其中的锚标记的索引、ID 或对象?
或者有没有更好的方法来使用标签重新加载整个页面?