2012-07-10 53 views
1

我正在使用jquery選項卡和以下js方法,如何以及如何修改它以保持回發之間的選項卡狀態? (這將重置選項卡的Page_Load後第一個標籤)jquery如何在jquery中保持回傳狀態?

$(文件)。就緒(函數(){//當頁面加載...
$( 「tab_content。」)隱藏(); //隱藏所有內容
$(「ul.tabs li:first」)。addClass(「active」)。show(); //激活第一個標籤$(「。tab_content:first」)。show(); // Show first (「ul.tabs li」)。click(function(){
$(「ul.tabs li」)。removeClass(「active」); //移除任何「active」類
$(this).addClass(「active」); //將「active」類添加到所選標籤$(「.tab_content」)。hide(); //隱藏所有標籤內容
var activeTab = $ ).find(「a」)。attr(「href」); // Find th e href屬性值來標識活動標籤+內容
$(activeTab).fadeIn(); //淡入主動ID內容返回false; });

回答

1

我第一次開始使用jQuery時遇到了這個問題。我的解決方案是使用<asp:HiddenField />在tabselect上存儲活動選項卡索引。

ASP.Net允許客戶端代碼修改<asp:HiddenField />,以便在回發期間保留其值。

舉例::

$('div#divMyTabs').tabs({ 
    selected: function() { 
     var tabFromPostback = $('input#<%=hfActiveTab.ClientID %>').val(); 
     return tabFromPostback === '' ? 0 : tabFromPostback; //Default to first. 
    }, 
    select: function (e, ui) { 
     $('input#<%=hfActiveTab.ClientID %>').val(ui.index); 
    } 
}); 

document.ready,簡單地通過在初始化時設置selected標籤恢復活動標籤