UPDATE [ ВС 08/26/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-hide)'), вам будет легко сделать это и для выбранных вкладок во фреймах. Помните, 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 проделал всю тяжелую работу, не думайте так усердно.