2012-08-06 57 views
1

我在我的頁面上有一個JQuery選項卡,當前當我重新加載或運行一些服務器代碼時,選項卡會回到第一個,有沒有辦法使標籤保留? 我想我的標籤停留在當前所選選項卡上,而不是回到第一個選項卡時,頁面重新加載jQuery在asp.net中的選項卡留在重新加載

我的JQuery:

$(function() { 
      var tabContainers = $('div.tabs > div'); 
      $('div.tabs ul.tabNavigation a').click(function() { 
       tabContainers.hide(); 
       tabContainers.filter(this.hash).show(); 
       $('div.tabs ul.tabNavigation a').removeClass('selected'); 
       $(this).addClass('selected'); 
       return false; 
      }).filter(':first').click(); 

     }); 

我的標籤:

<div class="tabs"> 
     <ul class="tabNavigation"> 
      <li><a href="#Annoucments">Annoucments</a></li> 
      <li><a href="#Events">Events</a></li> 
      <li><a href="#Photos">Photos</a></li> 
      <li><a href="#JobOpportunities">Job Opportunities</a></li> 
      <li><a href="#Contacts">Contacts</a></li> 
      <li><a href="#Videos">Videos</a></li> 
     </ul> 
     <div id="Annoucments" class="ContentDIV"> 
     .. 

     </div> 
     <div id="Events" class="ContentDIV"> 

      .. 
     </div> 

     <div id="Photos" class="ContentDIV"> 
      .. 

     </div> 

     <div id="JobOpportunities" class="ContentDIV"> 
      .. 
     </div> 

     <div id="Contacts" class="ContentDIV"> 
      ... 

     </div> 

     <div id="Videos" class="ContentDIV"> 
      .. 

     </div> 

    </div> 
+0

嘿,嘗試在contentDivs中添加更新面板。你也可以通過使用ASP Ajax來實現。試一試。它有點棘手,但很好的解決方案。 – 2012-08-06 08:11:50

回答

0

認沽您的網頁網址中有一個get參數。例如,您可以使用yourpage.aspx?page = 1。然後,只需將該參數從查詢字符串中提取出來,然後在服務器端代碼(最好)或者在頁面上的jQuery中直接應用'selected'類(不是一個好的解決方案,但它也可以工作)到適當的標籤。

EDIT(代碼示例)

$('#[formID]').onSubmit(function() { 
    var tab = $('.selected').prop('href'); 
    // Append a hidden field to the form containing tab. Example below 
    return true; 
} 

...然後當你從服務器加載你的頁面,只需看一下傳遞的值,並應用「選擇」類的元素。

例子: jQuery - add additional parameters on submit (NOT ajax)

+0

因此,單擊每個選項卡然後在同一頁上執行GET?這打破了製表符的目的,不是嗎? – 2012-08-06 06:14:50

+0

你能舉個例子嗎?使用上面的場景?謝謝! – 2012-08-06 06:28:41

+0

不,它不會在同一頁面上執行GET ... GET只會在頁面重新加載時...當您提交表單/重新加載鉤子代碼時獲取當前選定頁面的ID。點擊另一個標籤顯示標籤...重新加載頁面/提交表單添加參數。我現在很忙,但是如果你能等待那麼久,你會在幾個小時內給你一些代碼。 – 2012-08-06 06:54:33

0

您需要保存的地方用戶狀態:

  1. URL - 解析URL並確定它是否是你的標籤secion與否。
  2. Cookie - 寫入cookie用戶信息(例如選定的選項卡)。
  3. 會話 - 與Cookie相同。
  4. 自定義隱藏字段或asp.net ViewState。
0

你可以嘗試的一件事是保持隱藏字段,該字段保持當前選定選項卡的href值。這樣,當發生回發時,您可以從該隱藏字段讀取值並選擇正確的選項卡。

相關問題