ОНОВЛЕННЯ [ Нд 26.08.2012 ] Ця відповідь стала настільки популярною, що я вирішив перетворити її на повноцінний блог / підручник.
Будь ласка, відвідайте Мій блог тут, щоб побачити останню інформацію про простий доступ до роботи з вкладками в jQueryUI
Також включена (у блозі теж) - jsFiddle
¡¡¡Оновлення! Зверніть увагу: у нових версіях jQueryUI (1.9+) ui-tabs-selected
було замінено на ui-tabs-active
. !!!
Я знаю, що цей потік старий, але щось, про що я не бачив, було те, як отримати "обрану вкладку" (наразі випала панель) з іншого місця, ніж "події вкладки". У мене просто спосіб ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)');
І щоб легко отримати індекс, звичайно, є спосіб, зазначений на сайті ...
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
Однак ви можете скористатися моїм першим методом, щоб отримати індекс і все, що завгодно про цю панель, досить легко ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(),
curTabID = curTab.prop("id"),
curTabCls = curTab.attr("class");
// etc ....
PS. Якщо ви використовуєте змінну iframe, то .find ('. Ui-tabs-panel: not (.ui-tabs-hid)'), вам буде легко це зробити і для вибраних вкладок у кадрах. Пам'ятайте, jQuery вже зробив всю важку роботу, не потрібно винаходити колесо!
Просто для розширення (оновлення)
До мене було поставлено запитання: "Що робити, якщо на перегляді є кілька областей вкладок?" Знову ж таки, подумайте просто, використовуйте мою налаштування, але використовуйте ідентифікатор, щоб визначити, які вкладки ви хочете отримати.
Наприклад, якщо у вас є:
$('#example-1').tabs();
$('#example-2').tabs();
І ви хочете, щоб поточна панель другого набору вкладок:
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
І якщо ви хочете вкладку «АКТУАЛЬНІ», а не панель (дуже просто, саме тому я не згадую про це раніше, але, мабуть, зараз буду, тільки щоб бути ретельним)
// 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+
Знову ж, пам’ятайте, jQuery зробив всю важку роботу, не думайте так важко.