2013-04-12 66 views
0

我刚刚开始使用jQuery选项卡 - 我在Web.API站点中托管此选项卡。我创建了我的标签在我的(剃刀渲染)页面这样的:jQuery选项卡在新窗口中打开?

<div id="tabs"> 
    <ul> 
     <li><a href="WebApiAppOne">ApplicationOne</a></li> 
     <li><a href="WebApiAppTwo">ApplicationTwo</a></li> 
    </ul> 
</div> 

而且我有以下的jQuery:

$(document).ready(function() { 
    $("#tabs").tabs({ 
     load: function (event, ui) { 
      $(ui.panel).delegate('a', 'click', function (event) { 
       $(ui.panel).load(this.href); 
       event.preventDefault(); 
      }); 
     }, 
     beforeLoad: function (event, ui) { 
      ui.jqXHR.error(function() { 
       ui.panel.html("Unable to load tab content"); 
      }); 
     } 
    }); 
}); 

第一个选项卡显示了我WebApiAppOne内容细,但是当我点击下一个标签我直接去http://localhost/WebApiAppTwo。不在标签2内容区域内 - 标签消失。

我在这里的目标是将我在本网站上的几个Web应用程序整合到一个共同的登录页面中,使用选项卡允许用户选择他们去哪个应用程序。但我似乎无法得到这个工作正常。

有关我在做什么错的任何想法?

回答

0

我的默认 - 在某种程度上这是打破jQuery的标签功能发现problem-的web.api网站调用近代化 - 2.5.3.js。

我不知道为什么,但评论说,呼吁固定一切。

0

您将需要更改href属性并添加自定义属性。

<div id="tabs"> 
    <ul> 
     <li><a href="#WebApiAppOne" data-link="WebApiAppOne">ApplicationOne</a></li> 
     <li><a href="#WebApiAppTwo" data-link="WebApiAppTwo">ApplicationTwo</a></li> 
    </ul> 
</div> 

<div id="WebApiAppOne"> 
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit 
</div> 
<div id="WebApiAppTwo"> 
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit 
</div> 

然后使用attr读取自定义属性并加载面板。

$(ui.panel).load($(this).attr("data-link")); 
+0

这似乎不工作... $(ui.panel)代码应该去哪里?加载? BeforeLoad?我尝试了两个,我得到空标签内容区域。 – Nicros

相关问题