使用ajax的jquery选项卡,如何更改url

时间:2013-05-07 21:15:07

标签: jquery ajax tabs

我目前正在使用带有ajax的Jquery Tabs来加载外部内容。 (http://jqueryui.com/tabs/#ajax

我还有以下代码,以显示在网址中显示哪个标签:

$(window).load(function () {
    $(function () {
        $("#tabs").tabs({
            show: function (event, ui) {
                window.location.hash = ui.panel.id;
            }
        });

    });
});

我想知道您是否能够更改链接的显示方式?现在默认显示“page.htm l #undefined”,选项卡1显示“page.htm l#ui-tabs-1”,选项卡2显示“page.htm l#ui-tabs-2”等... < / p>

有没有办法可以自定义它?默认情况下会自动在网址中显示标签1吗?

例如“page.html#account”

我似乎无法找到正确的资源,或者我找错了地方......

2 个答案:

答案 0 :(得分:0)

只需更改HTML:

<ul>
  <li><a href="accounts.html" data-hash="account">Nunc tincidunt</a></li>
  <li><a href="other.html" data-hash="other">Proin dolor</a></li>
</ul>

和你的javascript:

activate: function(event,ui){
  window.location.hash = $(event.currentTarget).data('hash');
}

出于某种原因,我不知道,未检测到数据,请尝试:

window.location.hash = $(event.currentTarget).attr('data-hash');

您还可以使用load,接收加载远程选项卡后执行的功能。 activate接收标签转换动画结束后执行的函数。

答案 1 :(得分:0)

经过大量挖掘后,结果已经得到了支持:http://docs.jquery.com/UI/Tabs#Ajax_mode 只需将title =“”添加到“a”标签......