我有以下脚本获取所选标签的索引:
http://jsfiddle.net/oshirowanen/eWncA/
如果li有id,是否有可能获得id。如果从其他地方更容易获得它,那也可以,即相关的div标签,或其他地方。
答案 0 :(得分:8)
jQuery UI只是为选定的li添加了一个类。您可以将所选类的li拉出来,如下所示:
var id = $("li.tab.ui-tabs-selected").attr("id");
如果你想获得一个未经选择的标签,你可以这样做:
var id = $("li.tab:not(.ui-tabs-selected)").first().attr("id");
工作示例:
答案 1 :(得分:4)
var id = $("li.tab:eq("+selected+")").attr('id');
答案 2 :(得分:3)
如果你能够简单地使用Tabs控件的select
事件处理程序,这可以正常工作:
$('#tabs').tabs({
select: function( evt, ui ) {
console.log( $(ui.panel).attr( 'id' ) );
}
});
此外,对于不同的ui
对象属性,此处为a handy reference。
答案 3 :(得分:1)
如果您使用的是jquery标签(新版本):
<div id="tabs">
<ul>
<li data-value="tab1"><a href="#tab1">Name of tab1</a></li>
<li data-value="tab2"><a href="#tab2">Name of tab2</a></li>
</ul>
<div id="tab1">
</div>
<div id="tab2">
</div>
</div>
//get id in init
$(function () {
$("#tabs").tabs({
activate: function(event ,ui) {
var id = $(ui.newPanel).prop('id');
}
}
);
});
var id = $("#tabs li.ui-state-active").attr('data-value'); //get id in other function
答案 4 :(得分:0)
如果您像我一样通过Google来到这里,并且正在使用jQuery UI 1.9.X,请使用activate
或beforeActivate
个事件来获取id
:
$('selector').tabs({
activate: function(e, ui) {
var id = $(ui.newPanel).prop('id');
}
});