Bonjour,
J'aimerais savoir comment je peux récupérer tout les ids des tabContainer dans une page.
Merci pour votre aide
Version imprimable
Bonjour,
J'aimerais savoir comment je peux récupérer tout les ids des tabContainer dans une page.
Merci pour votre aide
Salut ,
Se que j'ai compris que tu veux recuperer les id des onglets d'un tabContainer , c'est ça voila un code permet de recuperer tous les onglets d'un tabContainer .
Code:
1
2
3
4
5
6
7
8 //ici on recupere tous les onglets var child = tabContainer.getChildren(); //ici on fait une boucle pour reuperer les id for(var i=0 ; i < child.length ; i++) { idChild = child[i].id; }
Non, je ne veux pas récupérer les onglets, je veux récupérer les ids des tabContainers.
En fait c'est pour faire un script automatique qui mémorise pour chaque tabContainer, quel onglet était sélectionné pour que, lorsque l'utilisateur revient sur la page, il retrouve les même positions....
Salut,
Chaque widget créé est ajouté à un registre (un peu comme il existe un registry pour des objets en RMI).
Donc:
ERECode:var listeTC = dijit.registry.byClass("dijit.layout.TabContainer");
C'est exactement ce qu'il me fallait! Merci :ccool:
Voici le code que j'ai fait pour ceux que ça intéresse :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 //Enregistrement du contentPane selectionné dojo.addOnLoad(function() { dijit.registry.byClass("dijit.layout.TabContainer").forEach(function(w){ // Si un onglet est selectionné, // on lui donne le focus var myTab = dojo.cookie(w.id); if (myTab) { dijit.byId(w.id).selectChild(myTab); } // Si on sélectionne un autre onglet, on enregistre dojo.subscribe(w.id+"-selectChild", function(child){ console.log("A new child was selected:", child); dojo.cookie(w.id, child.id); }); }); });