【发布时间】:2010-10-30 06:27:26
【问题描述】:
我有一个带有 jqueryui 标签集的页面。我希望能够打开带有第一个选项卡以外的选项卡的页面。如果页面上有四个选项卡,我需要能够选择四个选项卡中的任何一个作为“打开”选项卡。
这可能是来自另一个页面的链接或来自同一框架集中的页面的链接。
幕后一切都是 PHP。
【问题讨论】:
我有一个带有 jqueryui 标签集的页面。我希望能够打开带有第一个选项卡以外的选项卡的页面。如果页面上有四个选项卡,我需要能够选择四个选项卡中的任何一个作为“打开”选项卡。
这可能是来自另一个页面的链接或来自同一框架集中的页面的链接。
幕后一切都是 PHP。
【问题讨论】:
您需要通过 JavaScript 在页面初始加载时选择一个选项卡。以下是如何选择选项卡的示例:
http://docs.jquery.com/UI/API/1.7/Tabs#method-select
<script type="text/javascript">
$(function() {
$("#tabs").tabs( 'select' , index )
});
</script>
其中索引变量是您要选择的选项卡的整数。它基于 0,因此如果要选择第三个选项卡,则需要为索引指定 2。
页面准备就绪后,您需要执行此操作:
http://www.learningjquery.com/2006/09/introducing-document-ready
【讨论】:
以上答案对于当前版本的 jQuery UI v1.10.0 不再有效。根据 jQuery UI API,该选项现在是 active 而不再是 select。
这里是 API 的链接:http://api.jqueryui.com/tabs/#option-active
使用指定的活动选项初始化选项卡:
$(".selector").tabs({ active: 1 });
【讨论】:
预在初始化选项卡时可以使用selected 选项来选择选项卡。
$("#tabs").tabs({
selected: index //index of the tab to be preselected
});
这很重要的一种情况是索引 0 处的选项卡加载了 ajax。如果您像往常一样初始化选项卡,然后使用select 方法更改选定的选项卡,最初将发送一个ajax 请求来加载选项卡0。但是由于您想立即显示另一个选项卡,所以这个请求是不必要的。 selected 选项允许您跳过此请求。
【讨论】:
只需将ui-tabs-selected 类添加到预期的<li> 元素即可。
jQuery 将通过以下路径选择要激活的选项卡
selected选项设置location.hash 是否与<a> 标签中的任何标签的hash 匹配<li> 元素是否有ui-tabs-selected 类ui-state-disabled) 选项卡有点老问题。已回答,因为此页面是 google 上的第一个页面
【讨论】:
ui-tabs-active 而不再是 ui-tabs-selected。