2013-03-12 20 views
12

Sto aggiornando il codice dall'interfaccia utente di jQuery 1.8 alla 1.10.Ottieni l'indice della scheda attiva

Sotto 1,8, l'evento attivato quando la scheda cambia era select e potevo accedere all'indice della scheda selezionata tramite ui.index.

Sotto 1.10, l'evento attivato quando la scheda cambia è activate. Tuttavia, non riesco a trovare nulla nel parametro evento ui che mi indica l'indice della scheda appena attivata.

Come posso scoprire quell'indice?

risposta

22

È possibile utilizzare il seguente approccio http://jsfiddle.net/9ChL5/1/:

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

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

ero solo curioso di sapere se ci fosse la documentazione sul sito JQuery UI per .index() o una qualsiasi delle altre proprietà disponibili. Ho visto che l'oggetto ui aveva newTab/oldTab/newPanel/oldPanel come menzionato in [questa risposta] (http://stackoverflow.com/a/15367388/684617). Ma non ho visto ulteriori dettagli sull'esistenza di altre proprietà, almeno su quella pagina. – GoldDragonTSU

+1

@GoldDragonTSU 'ui.newTab' è un oggetto jQuery regolare qui e' index() 'è jQuery [index()] (https://api.jquery.com/index/) (indicato da" Type: jQuery "in [attivare documenti dell'evento] (http://api.jqueryui.com/tabs/#event-activate)). –

0

L'oggetto interfaccia utente è ancora qui, ma sembra detenere direttamente gli oggetti jQuery di oldTab, newtab, oldPanel, newPanel, quindi non è necessario l'indice per trovare l'oggetto che si desidera utilizzare.

Vedi 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

Ho bisogno dell'indice perché sto salvando l'indice attivo come preferenza utente nel database. –

Problemi correlati