ОБНОВЛЕНИЕ [Вс, 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-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 проделал всю тяжелую работу, не думайте так усердно.
person
SpYk3HH
schedule
01.11.2011