2013-10-08 57 views
1

我为我的应用程序使用jQuery UI 动态选项卡。我想在用户点击选项卡时更新URL哈希值。jQuery UI选项卡,更新动态选项卡的url

我在SO上发现了一些解决方案,如link1link2

,我试图解决方案如下:

的Javascript:

$("#tabs").tabs({ 
    select: function(event, ui) {     
     window.location.hash = ui.tab.hash; 

     if (ui.index == 0) // its preloaded 
       return;        
    } 
}); 

HTML:

<div id="tabs" > 
    <ul> 
     <li><a href="#tabs-1" > Tab 1 </a></li> 
     <li><a href="Home/Test1"> Tab 2 </a></li> 
     <li><a href="Home/Test2"> Tab 3 </a></li>    
    </ul> 
    <div id="tabs-1"> 
     Some Text 
    </div> 
</div> 

该解决方案采用了href值来更新URL。因此,对于第一个选项卡,URL哈希变成#tabs-1。但是对于其他选项卡,URL哈希为:#ui-tabs-1#ui-tabs-2

我希望url散列值为#Employee而不是#ui-tabs-1

有什么想法?

回答

0

我尝试了几种方法。我发现的最简单的方法是将name属性添加到锚元素。 所以,HTML部分如下。

<div id="tabs" > 
    <ul> 
     <li><a href="#tabs-1" > Tab 1 </a></li> 
     <li><a name ="Employee" href="Home/Test1"> Tab 2 </a></li> 
     <li><a name ="Address" href="Home/Test2"> Tab 3 </a></li>    
    </ul> 
    <div id="tabs-1"> 
     Some Text 
    </div> 
</div> 

JavaScript部分将保持不变。

相关问题