【发布时间】:2011-08-15 23:58:58
【问题描述】:
我在我的 Web 应用程序上设置了 jQuery Tab 工具,在选项卡之间单击可以正常工作,但我想做的是能够在另一个 javascript 函数完成后选择一个选项卡。在阅读文档和搜索后,我无法成功完成此操作。
我有一个搜索功能,当有人搜索时,我希望搜索选项卡被选中并进入视图。
搜索功能结束:
var tabby = jQuery('#right-tabs').tabs();
tabby.tabs('select', 1); // switch to second
HTML:
<div id="right1">
<ul class="tabs" id="right-tabs">
<li><a href="#" id="articles-tab">Articles</a></li>
<li><a href="#" id="search-tab">Search results</a></li>
</ul>
<div class="panes" id="right-panes">
<div id="articles-panel"></div>
<div id="search-results-panel"></div>
</div>
</div>
我收到一个萤火虫错误,提示“未捕获的类型错误:无法读取未定义的属性 'jquery'”。
我还尝试了另一种方法...只需手动设置/删除类,这样:
jQuery("ul#right-tabs a").removeClass('current');
jQuery("ul#right-tabs a#search-tab").addClass('current');
jQuery("div#articles-panel").hide();
jQuery("div#search-results-panel").show();
这可行,但它会产生一种奇怪的行为,即在您单击所选选项卡之前不允许您单击任何其他选项卡,然后它会让您单击其他选项卡。
所以,我不完全确定如何让 jQuery 工具与我想做的事情协同工作。它应该很简单,我正在考虑放弃这个,只是从头开始写。但如果你们有办法让这两种方法发挥作用,或者更好的方法,我将不胜感激!
更新
我只需要:
var api = jQuery("ul#right-tabs").data("tabs");
api.click(1);
我错误地找到了 jQuery 选项卡而不是 jQuery 工具选项卡的示例。
【问题讨论】:
-
你能在 jsFiddle 中重现问题吗? jsfiddle.net
-
我在 jQuery 工具选项卡 api 文档中的
select方法上找不到任何内容。您确定select是有效方法吗?我可以通过这样做来选择一个特定的选项卡:'$("#right-tabs li a")[1].click()',但我认为会有一种方法。 -
已修复!答案是: var api = jQuery("ul#right-tabs").data("tabs"); api.click(1);
-
你应该回答你自己的问题并接受它作为回答。它使您的解决方案更加明显,并将帮助其他人。
-
我会的,但是直到 8 小时后才能让您回答自己的问题。所以我同时更新了我的问题。感谢大家的帮助。
标签: javascript jquery tabs