2013-03-12 8 views
12

jQuery UI 1.8'den 1.10'a yükseltiyorum.Etkinleştirilmiş Sekme Dizini Al

1,8 altında, sekme değişiklikleri select olduğunda olay tetiklendi ve ui.index aracılığıyla seçili olan sekmenin dizinine erişebiliyordum.

1.10 altında, sekme değiştiğinde olay tetiklendiğinde activate. Ancak, yeni etkinleştirilen sekmenin dizinini bildiren ui olay parametresinde hiçbir şey bulamıyorum.

Bu dizini nasıl keşfedebilirim?

cevap

22

Aşağıdaki yaklaşım http://jsfiddle.net/9ChL5/1/ kullanabilirsiniz:

UI nesne hala burada ama endeksi gerek kalmaz, doğrudan oldTab, newtab, oldPanel, newPanel ait jQuery nesneleri tutmak gibi görünüyor
$("#tabs").tabs({ 
    activate: function (event, ui) { 

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

http://api.jqueryui.com/tabs/#event-activate sadece merak oldu bakın. UI nesnesinin [bu cevapta] belirtildiği gibi newTab/oldTab/newPanel/oldPanel olduğunu gördüm (http://stackoverflow.com/a/15367388/684617). Ama en azından bu sayfada diğer özelliklerin varlığına dair daha fazla ayrıntı görmedim. – GoldDragonTSU

+1

@GoldDragonTSU 'ui.newTab' burada düzenli bir jQuery nesnesidir ve' index() 'jQuery'nin [index()] 'i (https://api.jquery.com/index/) (" Type: jQuery "ile gösterilir) [olayları etkinleştir] (http://api.jqueryui.com/tabs/#event-activate)). –

0

kullanmak istediğiniz nesneyi bulmak için.

.Index için JQuery UI sitesinde() veya diğer özelliklerinin herhangi mevcut üzerinde belge olup olmadığını

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

Dizine ihtiyacım var çünkü aktif dizini veritabanında kullanıcı tercihi olarak kaydediyorum. –