UPDATE [ Min 08/26/2012 ] Jawaban ini menjadi sangat populer sehingga saya memutuskan untuk menjadikannya blog / tutorial lengkap.
Silakan kunjungi Blog Saya Di Sini untuk melihat informasi terbaru dalam akses mudah untuk bekerja dengan tab di jQueryUI
Juga disertakan (di blog juga) adalah jsFiddle
¡¡¡Perbarui! Harap diperhatikan: Dalam versi terbaru jQueryUI (1.9+), ui-tabs-selected
telah diganti dengan ui-tabs-active
. !!!
Saya tahu utas ini sudah tua, tetapi sesuatu yang tidak saya lihat disebutkan adalah cara mendapatkan "tab yang dipilih" (Saat ini panel yang dijatuhkan) dari tempat lain selain "peristiwa tab". Saya memiliki cara yang sederhana ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)');
Dan untuk mudahnya mendapatkan index tersebut, tentunya ada cara yang tertera di situs ...
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
Namun, Anda dapat menggunakan metode pertama saya untuk mendapatkan indeks dan apa pun yang Anda inginkan tentang panel itu dengan cukup mudah ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(),
curTabID = curTab.prop("id"),
curTabCls = curTab.attr("class");
// etc ....
PS. Jika Anda menggunakan variabel iframe lalu .find ('. Ui-tabs-panel: not (.ui-tabs-hide)'), Anda juga akan mudah melakukan ini untuk tab yang dipilih dalam bingkai. Ingat, jQuery sudah melakukan semua kerja keras, tidak perlu menciptakan kembali roda!
Hanya untuk memperluas (diperbarui)
Pertanyaan diajukan kepada saya, "Bagaimana jika ada lebih dari satu area tab pada tampilan?" Sekali lagi, pikirkan sederhana, gunakan pengaturan saya yang sama tetapi gunakan ID untuk mengidentifikasi tab mana yang ingin Anda dapatkan.
Misalnya, jika Anda memiliki:
$('#example-1').tabs();
$('#example-2').tabs();
Dan Anda ingin panel saat ini dari set tab kedua:
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
Dan jika Anda menginginkan tab AKTUAL dan bukan panel (sangat mudah, itulah sebabnya saya tidak menyebutkannya sebelumnya tetapi saya kira saya akan melakukannya sekarang, hanya untuk menyeluruh)
// for page with only one set of tabs
var curTab = $('.ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
// for page with multiple sets of tabs
var curTab2 = $('#example-2 .ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
Sekali lagi, ingat, jQuery melakukan semua kerja keras, jangan berpikir terlalu keras.