Asp.net
在 ASP.NET 回發後保持目前的 jQuery 手風琴窗格打開?
我在 asp.net aspx weppage 上有一個 jquery 手風琴。在窗格內,我有 asp.net 按鈕。當我點擊按鈕時,我所在的窗格會關閉並重新載入頁面,預設為第一個窗格。我不介意重新載入,但有沒有辦法在重新載入後保持目前窗格打開。現在,我只是在具有手風琴 id 的 div 上呼叫手風琴()。
您可以使用隱藏的輸入欄位在回發期間保留活動的手風琴索引,然後在手風琴的更改事件期間使用 javascript 填充它。
<asp:HiddenField ID="hidAccordionIndex" runat="server" Value="0" /> <script language="javascript" type="text/javascript"> $(function(){ var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val()); $("#accordion").accordion({ autoHeight:false, event:"mousedown", active:activeIndex, change:function(event, ui) { var index = $(this).children('h3').index(ui.newHeader); $('#<%=hidAccordionIndex.ClientID %>').val(index); } }); }); </script>您可能會想出一種在更改事件期間擷取活動索引的更有效方法,但這似乎可行。
頁面載入後,它會從隱藏欄位中檢索活動索引並將其儲存在變數中。然後,它使用檢索到的索引和自定義函式初始化手風琴,以觸發 change 事件,該事件在啟動新窗格時將新索引寫入隱藏欄位。
在回發期間,隱藏的欄位值會保留在 ViewState 中,這樣當再次載入頁面時,手風琴就會使用最後點擊的窗格的索引進行初始化。