2013-03-12 13 views
12

Uaktualniam kod z jQuery UI 1.8 do 1.10.Pobierz indeks aktywowanej zakładki

W wersji 1.8 zdarzenie wywołane, gdy zakładka zmieniła się na select, uzyskałem dostęp do indeksu zakładki wybieranej przez ui.index.

W punkcie 1.10 zdarzenie wyzwalane, gdy zmienia się zakładka, to activate. Jednak nie mogę znaleźć niczego w parametrze zdarzenia ui, który informuje mnie o indeksie nowo aktywowanej karty.

Jak mogę znaleźć ten indeks?

Odpowiedz

22

Można używać następujące podejście http://jsfiddle.net/9ChL5/1/:

$("#tabs").tabs({ 
    activate: function (event, ui) { 

     console.log(ui.newTab.index()); 
    } 
}); 
+0

po prostu ciekaw, czy istnieje dokumentacja na stronie jQuery UI dla .Index() lub którykolwiek z pozostałych właściwości dostępne. Widziałem, że obiekt ui miał nowąTab/oldTab/newPanel/oldPanel, jak wspomniano w [tej odpowiedzi] (http://stackoverflow.com/a/15367388/684617). Ale nie widziałem dalszych szczegółów co do istnienia innych właściwości, przynajmniej na tej stronie. – GoldDragonTSU

+1

@GoldDragonTSU 'ui.newTab' jest regularnym obiektem jQuery, a' index() 'to jQuery's [index()] (https://api.jquery.com/index/) (wskazany przez" Type: jQuery "w [aktywuj dokumentację zdarzeń] (http://api.jqueryui.com/tabs/#event-activate)). –

0

Przedmiotem UI jest nadal tutaj, ale wydaje się posiadać bezpośrednio obiekty jQuery z oldTab, newtab, oldPanel, newPanel, więc nie trzeba indeks aby znaleźć obiekt, którego chcesz użyć.

Zobacz http://api.jqueryui.com/tabs/#event-activate

ui Type: Object 

- newTab 
Type: jQuery 
The tab that was just activated. 
- oldTab 
Type: jQuery 
The tab that was just deactivated. 
- newPanel 
Type: jQuery 
The panel that was just activated. 
- oldPanel 
Type: jQuery 
The panel that was just deactivated. 
+0

Potrzebuję indeksu, ponieważ zapisuję aktywny indeks jako preferencję użytkownika w bazie danych. –