1

我正在为我的应用程序使用 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.

任何想法?

4

1 回答 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 部分将保持不变。

于 2013-10-09T14:53:53.633 回答