JQuery UI Tabs mise en cache
Je travaille dans une page ASP .net MVC de l'Application. J'ai un JQuery UI onglet dont le Javascript pour activer la mise en cache est comme suit.
function LoadStudentDetailTabs() {
$('#tabStudentDetail').tabs({
cache: true,
spinner: '',
select: function(event, ui) {
$("#gridSpinnerStudentDetailTabs h5").text("Loading Details...");
$('#tabStudentDetail > .ui-tabs-panel').hide();
$("#gridSpinnerStudentDetailTabs").show();
},
load: function(event, ui) {
$("#gridSpinnerStudentDetailTabs").hide();
$('#tabStudentDetail > .ui-tabs-panel').show();
},
show: function(event, ui) {
$("#gridSpinnerStudentDetailTabs").hide();
$('#tabStudentDetail > .ui-tabs-panel').show();
}
});
}
J'ai construit trois onglet éléments à l'aide d'une liste dire tab1, tab2, tab3.
Maintenant ce qui se passe, c'est quand l'onglet est créé, il permet cahing pour tous l'onglet articles. Mais comment puis-je régler individuellement la mise en cache de ces onglet éléments nécessaires. Dire (tab1 cache, tab2 pas de cache, tab3 cache) je ne vois qu'un moyen pour appliquer la mise en cache à l'ensemble de l'onglet plutôt que d'appliquer la mise en cache à personne onglet éléments nécessaires.
Il existe également un besoin pour moi d'activer ou de désactiver la mise en cache de ces onglet éléments (tab1, tab2, tab3) de manière dynamique. Comment puis-je y parvenir. toute aide serait appréciée?
OriginalL'auteur SARAVAN | 2010-04-12
Vous devez vous connecter pour publier un commentaire.
J'ai récemment eu a utiliser pour cela ainsi. En regardant dans le code, il utilise des "cache.les onglets" avec $.données pour déterminer si un onglet doit être mis en cache. Donc, vous avez juste besoin de saisir l'élément, et l'ensemble
$.data(a, "cache.tabs", false);
J'ai créé une rapide extension à le faire, en supposant que les onglets sont statiques. Il peut y avoir des imprévus questions, et peut certainement être améliorée.
Comme vous pouvez le voir je attribuer la vieille
load
méthode pour_load25624
, juste un nom aléatoire, de le garder en tant que membre de l'objet, et de l'appeler dans la nouvelleload
méthode après avoir déterminé si l'onglet doit être mis en cache. Utilisation:Va activer le cache pour l'ensemble des éléments, et de désactiver le cache pour le premier item (index 0).
OriginalL'auteur Eric Muyser
Donc, en simplifiant Eric analyse, vous pouvez contrôler la mise en cache de chaque onglet en réglant le cache.des onglets de données dans chaque onglet de l'élément d'ancrage.
Puis après le contenu de l'onglet a été chargé pour la première fois, vous pouvez activer la mise en cache pour cet onglet. Je voudrais simplement mettre dans le
$(document).ready
:Merci, Eric!
OriginalL'auteur William Niu
Essayer cette
OriginalL'auteur Ashutosh Tripathi
Aucun des ci-dessus a fonctionné pour moi sous IE. J'ai dû mettre
Au niveau de la page, plutôt que sur la méthode Ajax (qui a travaillé pour Chrome)
Donc:
Ainsi que:
OriginalL'auteur Matt