我以前使用jquery-ui tabs
擴展通過ajax
加載頁面片段,並在頁面中隱藏或顯示隱藏的div
。這兩種方法都有很好的文檔記錄,我在那裏沒有問題。jQuery選項卡 - 獲取新選擇的索引
但是,現在我想用選項卡做一些不同的事情。當用戶選擇一個選項卡時,它應該完全重新加載頁面 - 原因是每個選項卡部分的內容渲染起來都比較昂貴,所以我不想一次全部發送它們並使用常規方法切換'display:none'來揭示它們。
我的計劃是攔截標籤'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或對象?
或者還有更好的方法來使用標籤重新加載整個頁面?
這個問題是2歲的 – jantimon 2010-08-25 08:37:53
@Ghommey:和近2年後再次,這個答案是對我仍然有用。 – 2012-05-29 13:08:46