在Jquery-UI选项卡中按名称切换到选定的选项卡

Rob*_*Rob 50 tabs jquery-ui

如果我有三个标签:

<div id="tabs">
    <ul>
        <li><a href="#sample-tab-1"><span>One</span></a></li>
        <li><a href="#sample-tab-2"><span>Two</span></a></li>
        <li><a href="#sample-tab-3"><span>Three</span></a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想用它的名字换成#pample-tab-2.我知道如果我知道它的号码我就可以切换到标签,但是如果遇到这种情况我就不知道了.

注意:JQuery 1.3.1/JQuery-UI 1.6rc6

小智 83

我无法得到以前的工作答案.我按以下方式执行以下操作以获取选项卡的索引:

var index = $('#tabs a[href="#simple-tab-2"]').parent().index();
$('#tabs').tabs('select', index);
Run Code Online (Sandbox Code Playgroud)

  • 这个答案不再是"最短"的方式,因为jQueryUI自2010年以来只是进化而来.如果你是那些将所选/最高投票答案视为理所当然并且不向下滚动到其他人的人之一,这里是一个不错的选择从那以后添加的句法糖:`$("#tabs").tabs("select","#sample-tab-1");` (12认同)
  • JqueryUI又一次发展,这是新的解决方案:`$("#tabs").tabs("option","active",$(tabName +"Selector").index());`,请参阅此jsfiddle欲了解更多信息:http://jsfiddle.net/vpJC3/ (12认同)
  • 您必须从索引中扣除1.因为数组索引和元素索引相差1.写如下:$("#tabs").tabs().tabs("option","active",$("#Tab-1").index( ) - 1); (2认同)

Era*_*dan 33

似乎使用id和索引一样,例如,只需这样就可以开箱即用......

$("#tabs").tabs("select", "#sample-tab-1");
Run Code Online (Sandbox Code Playgroud)

这在官方文档中有详细记载:

"选择一个选项卡,如同其被点击.第二个参数是要选择的选项卡的基于零的索引或标签与(标签的href片段标识符,例如散列相关联的面板的id选择,指向小组的id). "

我认为这是在提出这个问题之后添加的,并且可能在大多数答案之后

  • 从jquery-ui 1.10.0开始,此解决方案不再有效 (3认同)
  • @EranMedan这里是我正在使用的解决方案:http://jsfiddle.net/vpJC3/ (3认同)
  • 您的示例应该是`$("#tabs").tabs("select","#sample-tab-1");`,根据[最新文档](http://docs.jquery.com/ UI /标签#方法选择). (2认同)

ham*_*uri 26

$('#tabs').tabs('select', index); 
Run Code Online (Sandbox Code Playgroud)

方法`'select'在jquery ui 1.10.0中不受支持.http://api.jqueryui.com/tabs/

我使用此代码,并正常工作:

  $('#tabs').tabs({ active: index });
Run Code Online (Sandbox Code Playgroud)


bdu*_*kes 12

您可以使用以下脚本按名称获取选项卡的索引:

var index = $('#tabs ul').index($('#simple-tab-2'));
$('#tabs ul').tabs('select', index);
Run Code Online (Sandbox Code Playgroud)


小智 6

只有这个代码真实有效!

$('#tabs').tabs();
$('#tabs').tabs('select', '#sample-tab-2');
Run Code Online (Sandbox Code Playgroud)


Ham*_*eza 5

使用此功能:

function uiTabs(i){
    $("#tabs").tabs("option", "selected", i);
}
Run Code Online (Sandbox Code Playgroud)

并使用以下代码在标签之间切换:

<a onclick="uiTabs(0)">Tab 1</a>
<a onclick="uiTabs(1)">Tab 2</a>
<a onclick="uiTabs(2)">Tab 3</a>
Run Code Online (Sandbox Code Playgroud)