Jquery UI Tabs Widget - Href和aria-controls

时间:2013-06-14 17:46:51

标签: jquery jquery-ui tabs href jquery-ui-tabs

我在这里头疼......

我正在使用jQuery 1.3更新旧网站到jQuery 1.10。 现在,我在2天后就如何动态更改选项卡的URL以便将新内容重新加载到同一选项卡中而苦苦挣扎。

我澄清了一下。假设我有一个标签。 当我点击这个标签时,我希望在那里显示“page1.php”。这里没有概率!我的page1.php内容很好地显示了。在它里面,我有一个链接“转到下一页”,它应该在我的标签页面中显示下一页(page2.php)。 当我点击此链接时,我想告诉我的标签更改其href属性并使用新内容重新加载。

我在官方文件中看到“url”和“title”已被弃用,我们应该使用“aria-controls”。

我经常尝试处理它,但仍无法找到任何解决方案。

以下是旧网站过去做的事情:

$("#tabs").tabs("url", "1", "page2.php");
$("#tabs").tabs('load', 1);

这是我尝试的第一段代码:

$("#tabs").attr('aria-controls', "page2.php");
$("#tabs").tabs('load', 1);

我甚至试图刷新但仍然无效:

$("#tabs").attr('aria-controls', "page2.php");
$("#tabs").tabs('refresh');

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

最后,第3次对我的大脑更好。这是一个解决方案:

function loadURLinTab(tabsWidget, url)
{
    var active = tabsWidget.tabs( "option", "active" );

    tabsWidget.find("ul>li a").eq(active).attr('href', url);
    tabsWidget.tabs('load', active);
}

在选项卡中传递jQuery对象(Tabs Widget)和要加载的URL,然后就可以了!

答案 1 :(得分:0)

这是使用jquery-ui api方法在点击上如何更改网址的另一种方法。

首先设置标签

$("#tabs").tabs({
    beforeActivate: function(event, ui) {
        ui.newTab.context.href = $("#linkID").attr('href');
    }
});

然后在链接上单击激活选项卡,该选项卡将更新选项卡href到链接href。

$("#linkID").on('click', function() {
    $("tabs").tabs('option','active',1);
});

希望这有助于某人。