2011-09-30 79 views
0

我无法打开显示特定jquery选项卡的页面,该选项卡通过ajax加载其内容。jquery,通过外部超链接访问页面标签“与ajax内容”?

问题是,jquery-ui打开由外部链接使用锚标签调用标签,但ajax内容标签锚没有一个。

任何想法

在此先感谢。

Basicaly在jQuery的UI演示相同的代码
什么,我想是在我的主页的链接,将打开这个其他页面已经显示TABX

$(document).ready(function() { 
    $(function() { 
     $("#tabs").tabs({ 
      ajaxOptions: { 
         error: function(xhr, status, index, anchor) { 
          $(anchor.hash).html(
           "Couldn't load this tab. We'll try to fix this as soon as possible. " + 
           "If this wouldn't be a demo."); 
         } 
      } 
     }); 
    }); 
}); 



<div id="tabs"> 
    <ul> 
     <li class="tab first_tab"><a id="tab1" href="tab1.html">dit doen we</a></li> 
     <li class="tab"><a id="tab2" href="tab2.html">disciplines</a></li> 
     <li class="tab"><a id="tab3" href="tab3.html">cases</a></li> 
     <li class="tab"><a id="tab4" href="tab4.html">uitgelicht</a></li> 
    </ul> 
</div> 
+0

你可以把一些代码在澄清你的问题? –

+0

Hi @WilliamNiu我加了代码感谢您的帮助 – theRolk

+0

您的意思是你想要一个链接打开一个通过AJAX加载其内容的选项卡? –

回答

1

要选择一个选项卡,你可以在.tabs()上使用select方法,例如$('#tabs').tabs('select', 1)将选择第二个选项卡(选项卡索引为1)。

要打开一个页面并告诉它选择一个选项卡,您需要以某种方式“传递意图”。如果您使用AJAX进行页面转换,那么您可以简单地加载页面并致电.tabs('select', tabIndex)

如果您在没有AJAX的情况下加载第2页,则可以使用查询字符串传递一个变量,例如, ?loadTab=1并在正在加载的页面中解析它。 location.search会给你查询字符串。 This question将帮助你解析它。

因此,在第二页,你会是这样的:

$(function() { 
    $("#tabs").tabs({ 
     ... 
    }); 

    // code to parse the loadTab variable in the querystring 

    if (typeof(loadTab) !== 'undefined' && parseInt(loadTab) !== 'NaN') 
     $('#tabs').tabs('select', parseInt(loadTab)); 
} 
+0

谢谢@WilliamNiu完美的工作。 – theRolk