如何获取当前所选jQuery UI选项卡的ID?

时间:2009-10-14 17:43:46

标签: javascript jquery jquery-ui-tabs

我知道我可以得到当前所选标签的(数字)索引,如下所示:

$('.selector').tabs('option', 'selected');

有没有办法在事件处理程序之外获取当前所选选项卡的ID?通过“ID”,我指的是ui对象中的字符串属性(ui.panel.id),它作为参数传递给事件监听器回调 - 但我试图在回调之外进行。

我知道我可以将我自己的解决方案合并在一起,但我想确保我不是首先重新发明轮子。

我宁愿使用ID而不是索引,这样改变我的选项卡的顺序不会破坏我的代码 - 它至少会更强大和可读。

2 个答案:

答案 0 :(得分:1)

据我所知,选中的标签选择了ui-tab类。你可以使用

$('.selector').find('.ui-tab-selected a');

获取所选标签。它是元素,其中href属性 - 活动面板的标识符。

答案 1 :(得分:1)

@Matt Ball

您可以使用与活动标签关联的“ui-state-active”类来选择它,然后从内部href链接获取id:

var selected_tab_id = $('.ui-state-active a', '#ui-tabs-widget').attr('href').split('#')[1];

'#ui-tabs-widget'是实际标签窗口小部件的ID,因此请将其替换为自动标签,以便仅在您想要的窗口小部件中选择活动标签,而不是在页面中的每个窗口小部件中选择。