2012-09-28 59 views
0

我有問題在ASP.NET頁面後退後點擊li時保持活動手風琴打開狀態。回覆後在jquery accordian中維護特定的狀態

這裏是腳本:

$(document).ready(function() { 
    $('#nav > li > a').click(function() { 
     if ($(this).attr('class') != 'active') { 
      $('#nav li ul').slideUp(); 
      $(this).next().slideToggle(); 
      $('#nav li a').removeClass('active'); 
      $(this).addClass('active'); 
     } 
    }); 

}); 

下面是標記:

      <ul id="nav"> 
           <li><a href="#">Item 1</a> 
            <ul> 
             <li><a href="#">Sub-Item 1 a</a></li> 
             <li><a href="#">Sub-Item 1 b</a></li> 
             <li><a href="#">Sub-Item 1 c</a></li> 
            </ul> 
           </li> 
           <li><a href="#">Item 2</a> 
            <ul> 
             <li><a href="#">Sub-Item 2 a</a></li> 
             <li><a href="#">Sub-Item 2 b</a></li> 
            </ul> 
           </li> 
           <li><a href="#">Item 3</a> 
            <ul> 
             <li><a href="#">Sub-Item 3 a</a></li> 
             <li><a href="#">Sub-Item 3 b</a></li> 
             <li><a href="#">Sub-Item 3 c</a></li> 
             <li><a href="#">Sub-Item 3 d</a></li> 
            </ul> 
           </li> 
           <li><a href="#">Item 4</a> 
            <ul> 
             <li><a href="Facilitysoft_masterdetails.aspx?view=1">Site Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=2">Phase Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=3">Block Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=4">Subblock Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=5">Floor Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=6">Flat Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=7">Issue Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=8">Gym/Swim Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=9">Stock Master</a></li> 
              <li><a href="Facilitysoft_masterdetails.aspx?view=10">Clubhouse Master</a></li> 
            </ul> 
           </li> 
          </ul> 

對於如: 當我點擊「項目4」,然後點擊「俱樂部主」特定在手風琴可摺疊並需要保持特定狀態之後,aspx頁面即將到來。

回答

0

這裏的問題是,回傳後的HTML呈現恢復到默認狀態。這相當於在這種情況下,服務器記住刷新頁面..

所以你在這裏的選項在結束請求處理程序中處理這個在回髮結束後被觸發。

$(function() { 
    PostBack(); 

    Sys.WenForms.PageRequestManager.getInstance().add_endRequest(PostBack); 
}); 

function PostBack(){ 
    // You need to save the state of the Accordion 
    // just before the postback 
    // and handle it here.. 
    // Maybe store it in a hiddenField 
    // and retrieve it to change the settings.. 
} 
+0

你可以給我任何樣品我已經嘗試過 –

+0

任何答覆在這個我已經在很多方面嘗試 –

+0

嘗試這種方法http://www.isolutionteam.co.uk/retain-jquery-accordion-current-index-across -the-ASP淨後回/ –

0

我有類似的問題。即在GET請求的情況下想要保存手風琴的狀態。在我的主模板,寫的

if (strPage.EndsWith("page1.aspx") 
       || strPage.EndsWith("page2.aspx")) 

       this.hdnfldtset.Value="ELS"; 
      else if (strPage.EndsWith("page3.aspx")     
       || strPage.EndsWith("page4.aspx") 

       this.hdnfldtset.Value="CMS"; 

然後,在母版頁中的javascript,請閱讀此隱藏的價值和打開/關閉相應的手風琴部分頁面切換的情況。這將適用於您使用簡單的頁面的GET項目。我的申請就是這種情況。如果你的情況是回發,那麼你可以使用隱藏字段來設置和檢索與JavaScript。