以编程方式更改选定的jQuery UI选项卡?

时间:2013-09-13 13:38:48

标签: javascript jquery jquery-ui tabs click

所以我有一个页面,我只是使用选项卡的程式化部分。单击选项卡将转到该页面处于活动状态的新页面,因此几乎可以模拟它们应该执行的操作,但不会在其中包含4个大页面。对于每个页面,我通过

更改活动选项卡
$( ".tabs" ).tabs({ active:2 });

等等。这很好用。现在进行对话。我在这个页面上有一个对话框,它也启动了标签。由于存在嵌套在许多div中的信息,因此“tabs”的默认功能将不起作用。据我所知,当你点击一个标签时,它会查找下一个div。 3个标签=仅3个div。所以在这种情况下,我只是使用标签再次进行样式化,只显示/隐藏每个不同标签所需的信息(总共3个标签)并取消绑定点击。

$('.tabsDialog > ul > li > a').unbind('click');

所以,自然我的想法是使用click功能隐藏前一个div并显示新的一个将激活这个新选项卡。像这样的东西

         $('a.globalSet').on('click',function(){
              $('div.timeSet').hide();
              $('div.globalSet').fadeIn();
              $('div.comManager').hide();
              $( "li.timeSet" ).tabs({ active:1 });
          });

这并没有激活我的新标签。我尝试过addClass .ui-tabs-active,但仍然没有运气。有任何想法吗?提前致谢。 jsfiddle:http://jsfiddle.net/tRKSv/2/

1 个答案:

答案 0 :(得分:1)

Tabs窗口小部件,与您说的完全不同,我不会查找“下一个”div,它会查找具有相同div的{​​{1}}你在html中放入了id标签的href属性(或者如果它不是锚,则是一个加载内容的页面)。

因此,要使代码正常工作,只需在a标记中添加适当的href属性即可。这只是对话框的一个示例,但您应该为两个选项卡镜像此代码:

a

这是一个小提琴:http://jsfiddle.net/rf90210/tRKSv/3/