JQuery UI选项卡,更改选项卡URL(JQuery 1.10+)

时间:2013-07-31 04:31:05

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

有没有办法通过jquery / javascript修改jquery ui中选项卡的链接?

示例问题就像

标签包含网址"http://thanksforyourhelp/greatly/appreciated/"

如果在该选项卡上提交表单,则会将数据写入数据库。响应提供添加到数据库的行的ID。

下次访问该特定标签时,该链接实际应为

'http://thanksforyourhelp/greatly/appreciated/ID' 

现在已知ID,因为表单的响应(此处也是ajax)将其发回。当这个响应出现时,我将重新加载当前标签,其中包含ID中的URL。

在JQuery 1.10之前。我们可以做这样的事情

$("#tabs").tabs("url", index, url);

我们如何在JQuery UI 1.10+中做到这一点。在JQuery 1.10中删除了URL方法吗?

2 个答案:

答案 0 :(得分:5)

在完整的表单提交中执行类似的操作。这将更改当前活动选项卡的URL并重新加载选项卡。

var tabs = $("#tabs");
var currentTabIndex = tabs.tabs("option", "active");
var tab = $(tabs.data('uiTabs').tabs[currentTabIndex]);
tab.find('.ui-tabs-anchor').attr('href', "http://thanksforyourhelp/greatly/appreciated/ID");
// If cached initially. Remove cache then
tab.data( "loaded", false);
tabs.tabs("load", currentTabIndex);

答案 1 :(得分:1)

标签定义为我引发了错误;不得不像这样重写它:

var tab = $(tabs.data()['ui-tabs'].tabs[currentTabIndex]);