2009-06-09 84 views
16

我在尝试使此功能正常工作时遇到问题。我想在页面加载时自动加载选项卡。我已经使用了下面的代码。以编程方式选择并加载jquery选项卡

$tabs.tabs('select', 0); 

然而,发生了什么是它唯一的选择,并(通过AJAX该选项卡中加载)不加载它。有趣的是,当我选择另一个选项卡,然后再次返回到第一个选项卡时,它会正常加载。

+0

只是添加,当我做下面的事情时,第一个标签加载罚款。 $ tabs.tabs('select',1); $ tabs.tabs('select',0); 但我真的只想使用 $ tabs.tabs('select',0); 任何想法? – 2009-06-09 15:41:13

回答

17

您是否尝试过在初始化时指定所选选项卡:

var $tabs = $('.selector').tabs({ selected: 0 }); 

初始化完成后,你可以这样做以编程方式选择标签:

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

编辑:这完全适用我:

var $tabs = jQuery("#tabDiv > ul").tabs({ selected: null }); 
$tabs.tabs("select", 0); 
+0

我已经尝试了此页面上的所有建议,但都没有工作。难道是因为我有嵌套选项卡。基本上,父母标签调用的页面有更多的标签,我想选择此子标签页的第一个标签。它不工作。只有在选择另一个选项卡并以编程方式选择第一个选项卡之后,才能工作。 – 2009-06-09 17:16:06

+0

让每个人都清楚。它确实选择了第一个选项卡,但没有加载它应该通过ajax加载的页面 – 2009-06-09 17:17:32

+0

好的。我有一个想法。让我知道这是否合理。难道是jQuery的标签默认选择第一个标签。所以,当你编程尝试再次选择它,它不会加载它? – 2009-06-09 18:19:13

0

不要忘记把它放在$(document).ready(function (){;});构造。

我敢肯定,这不是你的问题的原因,但它不能伤害,以确保你的jQuery没有发射,直到一切都设置为处理它。

0

你应该能够调用:

$tabs.tabs('load', 0); 

您选择它加载了数据之后。

2

我以前有同样的问题。我的解决方案是调用tabs()两次;一次没有参数;一次使用选择选项:

例如:

$("#tabs").tabs(); 
$("#tabs").tabs('select', 2); 
20

我只是回答这个问题,以避免人们误用弃用功能。

大多数答案在问题发生时都是正确的,但大多数答案都没有在新的API中使用。

请尝试下面的代码如果您使用的是新API。

$(function() { 
    $("#tabs").tabs(); 
    $("#tabs").tabs("option", "active", 2); 
}); 

有关详情,请下面的链接。

http://jqueryui.com/upgrade-guide/1.9/#deprecated-select-method

0

假设你正在使用从jQuery标签页(http://jqueryui.com/tabs/#default)演示。您可以通过单击锚点轻松选择该选项卡。只需找到基于其标签名称的锚标签,就像这样...

$('a[href=#tabs-1]').click(); //selects the first tab 
相关问题