Для JQuery версии UI прежде 1.9 : ui.index
от эти event
то, что Вы хотите.
Для JQuery UI 1.9 или позже : посмотрите ответ Giorgio Luparia, ниже.
Когда Вы пытаетесь получить доступ к объекту пользовательского интерфейса? ui будет не определен, при попытке получить доступ к нему за пределами связывать события. Кроме того, если эта строка
var selectedTab = $("#TabList").tabs().data("selected.tabs");
, работал в конечном счете как это:
$("#TabList").bind("tabsselect", function(event, ui) {
var selectedTab = $("#TabList").tabs().data("selected.tabs");
});
selectedTab будет равняться текущей вкладке в то время ("предыдущий".) Это вызвано тем, что "tabsselect" событие называют, прежде чем нажатая вкладка становится текущей вкладкой. Если Вы все еще захотите сделать это, то этот путь, с помощью "tabsshow" вместо этого приведет к selectedTab равенство нажатой вкладке.
Однако, который кажется сверхсложным, если все Вы хотите, индекс. ui.index из события или $ (" #TabList") .tabs () .data ("selected.tabs") за пределами события должен быть всем, в чем Вы нуждаетесь.
If you need to get the tab index from outside the context of a tabs event, use this:
function getSelectedTabIndex() {
return $("#TabList").tabs('option', 'selected');
}
Update: From version 1.9 'selected' is changed to 'active'
$("#TabList").tabs('option', 'active')