0
我試圖一次性重新加載所有打開的標籤。 我使用的代碼jQueryUI:立即重新加載所有標籤
var length = $("#tabs").tabs("length");
for(var i = 0; i < length; i++){
$("#tabs").tabs("load", i);
}
它通過循環迭代完美,但只有最後一個選項卡真的重新加載。
有人幫忙嗎?
我試圖一次性重新加載所有打開的標籤。 我使用的代碼jQueryUI:立即重新加載所有標籤
var length = $("#tabs").tabs("length");
for(var i = 0; i < length; i++){
$("#tabs").tabs("load", i);
}
它通過循環迭代完美,但只有最後一個選項卡真的重新加載。
有人幫忙嗎?
問題是,標籤小部件只允許在任何時候發生一次加載操作,因此您會發現它是最後一個正在更新的標籤,而其他標籤則不是。
所以,你必須以另一種方式來做。首先,我假設你已經將緩存選項設置爲true。如果沒有,則繼續進行是沒有意義的,因爲選項卡在激活時會刷新。
一旦當前加載操作完成,您將不得不做的是啓動下一個選項卡的下一個加載操作。最簡單的方法是製作一個需要加載的選項卡隊列,並在選項卡上設置一個load
事件處理程序(當選項卡被加載時它會被觸發)。
這是對它的一個剪輯。它可以收拾了一下,肯定,但至少它給你什麼,我的意思是味:
var $tabs = $("#tabs").tabs({
cache: true,
load: function (event, ui) {
loadNextTab();
}
});
var tabLoadQueue = [];
var loadNextTab = function() {
if (tabLoadQueue.length) {
var nextTab = tabLoadQueue.pop();
$tabs.tabs("load", nextTab);
}
};
$("#load").click(function() {
var length = $tabs.tabs("length");
for(var i = 0; i < length; i++){
tabLoadQueue.push(i);
}
loadNextTab();
});
你們是不是要重新加載單獨的瀏覽器選項卡,或者你有一個使用選項卡組織在你的頁面數據? – 2011-06-13 17:02:43
我正在使用jQueryUI選項卡。他們是我的頁面內的標籤。 – Bart 2011-06-13 17:04:23