以编程方式选择和加载jquery选项卡
我在尝试使用此function时遇到了麻烦。 我想在页面加载时自动加载标签。 我使用了以下代码。
$tabs.tabs('select', 0);
然而,正在发生的是它只选择它而不加载它(该选项卡通过ajax加载)。 有趣的是,当我选择另一个选项卡然后再次返回第一个选项卡然后它加载正常。
您是否尝试在初始化时指定所选选项卡:
var $tabs = $('.selector').tabs({ selected: 0 });
初始化后,您可以通过编程方式选择一个选项卡:
$tabs.tabs('option', 'selected', 0);
编辑:这对我来说非常有用:
var $tabs = jQuery("#tabDiv > ul").tabs( { selected: null } ); $tabs.tabs("select", 0);
我只是回答这个问题,以避免人们误解弃用函数。
大多数答案在问题发生时都是正确的,但大多数答案都没有在新API中使用。
尝试以下代码如果您使用的是新API。
$(function() { $( "#tabs" ).tabs(); $( "#tabs" ).tabs( "option", "active", 2 ); });
有关详细信息,请查看以下链接
http://jqueryui.com/upgrade-guide/1.9/#deprecated-select-method
我之前遇到过同样的问题。 我的解决方案是调用tabs()两次; 一次没有参数; 一次使用选择选项:
例如。
$("#tabs").tabs(); $("#tabs").tabs('select', 2);
如果没有任何作用,这里有一个小技巧:
您可以使用从jquery添加和删除CSS类,如下所示:
// Firstly, remove the "active" class from div panel and tag $('#firstTab, #firstTabDiv').removeClass('active'); Also, remove the "in" class from div tag in which your panel resides $('#firstTabDiv').removeClass('in'); Then add same class which you removed in the div and panel in which you want to get automatically select $("#thirdTab, #thirdTabDiv").addClass('active'); $("#thirdTabDiv").addClass('in'); First Tab Second Tab Third Tab
这样您就可以自动显示选项卡onload。
不要忘记把它放在$(document).ready(function(){;})中; 构造。
我确定这不是你问题的原因,但是确保你的jQuery在设置好处理它之前不会触发它也不会有害。
你应该可以打电话:
$tabs.tabs('load', 0);
选择它以加载其数据后。
假设您使用的是Jquery标签页( http://jqueryui.com/tabs/#default )中的演示。 您可以通过单击锚点轻松选择选项卡。 只需找到基于其标签名称的锚标签,就像这样……
$('a[href=#tabs-1]').click(); //selects the first tab