2014-10-07 63 views
1

我用我的多標籤頁的簡單的jQuery標籤是如下:如何防止jquery選項卡在刷新時默認爲第一個選項卡?

$("#tabs").tabs(); 
<s:div id="tabs"> 
<ul> 
    <li><a href="#tabs-1"> Home</a></li> 
    <li><a href="#tabs-2">Resources</a></li> 
    <li><a href="#tabs-3">hello world</a></li> 
</ul> 

<s:div id="tabs-1"> 
    tab one content 
</s:div> 
<s:div id="tabs-2"> 
    tab two content 
</s:div> 
<s:div id="tabs-3"> 
    tab three content 
</s:div> 
</s:div> 
然而

,當我在其他任何一個1選項卡和命中刷新,它把我帶回到第一標籤。我知道默認情況下第一個選項卡是活動的。我甚至嘗試使用下面的函數來禁用主動標籤:

$("#tabs").tabs({ active: false }); 

,但它仍然會帶我去的第一個標籤後也沒有激活的標籤。我如何防止這種情況發生?我想讓jquery在刷新頁面時不更改標籤。我確實找到了幾個答案,但似乎沒有任何幫助。任何幫助,將不勝感激。 thankx提前

+1

您將需要存儲的標籤數量與localStorage的,然後設置該選項卡爲活動的文件準備 – juvian 2014-10-07 19:26:25

+0

你可能需要設置一個活動:假和可摺疊爲真http://api.jqueryui.com/tabs/#option-active – rach 2014-10-07 19:29:29

+0

我有同樣的需求,並最終在localStorage中存儲當前選項卡。 – sebnukem 2014-10-07 19:33:48

回答

4

這應該使的伎倆:

var selected=0; 
if(localStorage.currentTab){ 
    selected=Number(localStorage.currentTab) 
}else{ 
    localStorage.currentTab=0; 
} 

$("#tabs").tabs({ 
    selected: selected, 
    select: function(event, ui) { 
     localStorage.currentTab=ui.index 
    } 
}); 
+1

感謝您的幫助,但是,在實施你的進程後,它仍然帶我回到刷新上的默認選項卡(這是第一個,索引0)。 – Gurkha 2014-10-07 19:52:01

+1

對我有用:http://jsfiddle.net/ecorLfjz/,嘗試去第二個選項卡,然後再次點擊運行 – juvian 2014-10-07 19:55:30

+1

感謝您的示例,但示例上的查詢版本是1.9.2,而我的版本是1.10.4那有什麼區別?它是向後兼容? – Gurkha 2014-10-07 19:59:07

相關問題