2017-06-21 54 views
0

我有一個form許多nav-tabs。當用戶點擊刷新或按F5時,我可以成功獲取相同的選項卡。以下是我的代碼:執行事件後重新加載相同的選項卡?

// Store the currently selected tab in the hash value 

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
}); 

// on load of the page: switch to the currently selected tab 

var hash = window.location.hash; 
$('#nav-tabs-wrapper a[href="' + hash + '"]').tab('show'); 

現在問題得到同樣的標籤上submit上的任何其他event

$("#New").on("click", function() { 

    $.ajax({ 
     success: function (result) { 
     location.reload(); 
     } 
    }); 

}); 

現在,我試圖加載相同的位置,但它不工作。它總是把我帶到第一個標籤。

+0

你能分享html嗎? –

+0

你是否解決了這個問題 – hasan

回答

1

您可以使用$ .cookie保持選定的標籤ID

showTab(); 

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
     $.cookie("selectedTabId", hash); 
     showTab(); 
}); 

function showTab() 
{ 
    if($.cookie("selectedTabId") != null) 
    { 
     $('#nav-tabs-wrapper a[href="' + $.cookie("selectedTabId") + '"]').tab('show'); 
    } 
    else 
    { 
     $('#nav-tabs-wrapper a[href="default"]').tab('show'); // show default 
    } 
} 
1

您還可以使用locaStorage這一點。 當您提交在localStorage的這樣的形式儲存當前標籤ID:

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) { 
     var id = $(e.target).attr("href").substr(1); 
     window.location.hash = id; 
     localStorage.setItem('tab',id); 
}); 

當你遞交表格後回來接着讀了localStorage的鍵值。

$("#New").on("click", function() { 

    $.ajax({ 
     success: function (result) { 
     windlow.location = localStorage.getItem('tab'); 
     } 
    }); 

}); 
相關問題