jQuery UI选项卡 - 如何获取当前选定的选项卡索引

我知道以前有人过这个具体问题,但是使用插件上的事件我没有得到任何结果。bind()jQuery UI Tabs

我只需要新选择的选项卡在单击选项卡时执行操作。 允许我挂接到select事件,但是我通常获取当前所选选项卡的方法不起作用。它返回以前选择的选项卡索引,而不是新索引:indexbind()

var selectedTab = $("#TabList").tabs().data("selected.tabs");

以下是我尝试用于获取当前所选选项卡的代码:

$("#TabList").bind("tabsselect", function(event, ui) {

});

当我使用此代码时,ui 对象返回未定义。从文档中可以看出,这应该是我用来使用 ui.tab 挂接到新选择的索引的对象。我已经在最初的电话中尝试过这一点,并且也尝试过。我在这里做错了什么吗?tabs()


答案 1

如果需要从选项卡事件的上下文外部获取选项卡索引,请使用以下命令:

function getSelectedTabIndex() { 
    return $("#TabList").tabs('option', 'selected');
}

更新:从版本1.9开始,“选定”更改为“活动”

$("#TabList").tabs('option', 'active')

答案 2

对于 1.9 之前的 JQuery UI 版本:从 中是你想要的。ui.indexevent

对于JQuery UI 1.9或更高版本:请参阅下面Giorgio Luparia的答案