打开预选选项卡的页面,这不是第一个选项卡

时间:2009-05-31 17:14:03

标签: php jquery jquery-ui

我有一个带有jqueryui tabset的页面。我希望能够使用除第一个选项卡之外的选项卡打开页面。如果我在页面上有四个标签,我需要能够选择四个中的任何一个作为“打开”标签。

这可能是来自另一个页面的链接或来自同一框架集中页面的链接。

在幕后,一切都是PHP。

4 个答案:

答案 0 :(得分:3)

您需要通过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

答案 1 :(得分:2)

上述答案不再适用于当前版本的jQuery UI v1.10.0。根据jQuery UI API,该选项现在有效,不再选择

以下是API的链接:http://api.jqueryui.com/tabs/#option-active

  

使用指定的活动选项初始化选项卡:

$(".selector").tabs({ active: 1 });

答案 2 :(得分:1)

初始化标签时,可以使用selected选项

选择标签。

$("#tabs").tabs({
    selected: index //index of the tab to be preselected
});

这很重要的一种情况是当索引0处的选项卡加载了ajax时。如果您像往常一样初始化选项卡,然后使用select方法更改选定的选项卡,则最初会将ajax请求发送到加载选项卡0.但是,由于您要立即显示其他选项卡,此请求为不必要。 selected选项允许您跳过此请求。

答案 3 :(得分:1)

只需将ui-tabs-selected类添加到预期的<li>元素。

jQuery将通过以下路径选择要激活的选项卡

  1. 设置了selected选项
  2. 如果未设置,location.hash是否与hash标记的任何标签<a>匹配
  3. 如果没有哈希匹配,则任何<li>元素都有ui-tabs-selected
  4. 如果没有尝试选择第一个未禁用(ui-state-disabled)标签
  5. 有点老问题。回答,因为这个页面是谷歌的第一个