我想弄清楚如何讓jquery-tabs記住當表單被提交併重定向到get時的哪個選項卡。我發現了很多例子,但他們都說要在select
事件中使用ui.index
,這兩者都不是is in the documentation;我已確認ui.index
不是該對象的一部分。在activate
事件中使用$("#MyTabs").tabs("option", "selected")
可以獲取先前選擇的選項卡的索引,但不是用戶剛選擇的選項卡。如在,如果選項卡0被選中,我點擊標籤3,我得到0,而不是3.我不能使用active
選項,如果我不知道索引。記住選定的標籤
我應該只是計算無序列表中的列表項目,jquery將變成標籤,然後使用它們來映射ui.newPanel
中的div ID,還是有更好的方法來做到這一點?一旦我有合適的索引,我可能會將其添加到查詢字符串。如果用戶打開了多個窗口或瀏覽器選項卡,Cookie解決方案就無法與我保持一致。
編輯:問題是,active
選項採用的指數,但activate
事件的ui
參數似乎只給我的標籤,標籤內容的li
和div
元素。由於曾經有一個ui.index
財產,我想知道如果我失去了一些東西。
編輯:這是我用於感謝庫什的解決方案;爲簡潔起見,我省略了一些代碼。
function Document_OnReady() {
$("#MyTabs").tabs({
active: $("input.InitialTabIndex").val()
});
function SetInitialTab() {
$("input.InitialTabIndex").val($("#MyTabs").tabs("option", "selected"));
}
function Form_OnSubmit() {
SetInitialTab();
}
當服務器處理POST時,我讀取表單值,然後在重定向到get時將其添加到查詢字符串中。
謝謝!
謝謝,庫什。我想看看什麼是「標準」做法,但看起來並不存在。這是我在這裏看到的最好的選擇,它不依賴API定義之外的東西,但我不是jQuery專家。我最終在重定向到獲取後在查詢字符串中包含索引,以便用戶可以使用該URL,只要我不重新排序製表符! –