2009-09-23 10 views
1

J'ai été bloqué sur un problème et je n'arrive pas à trouver de l'aide pour ça .. J'ai essayé mon propre code, j'ai recherché des tutoriels sur le sujet mais rien ne semble J'utilise actuellement des onglets d'interface utilisateur JQuery pour une application.JQuery Ajax Tabs + Keeping State

Chaque clic sur un onglet charge actuellement son contenu en utilisant Ajax. J'ai maintenant besoin d'étendre la fonctionnalité et de garder l'état entre les onglets.

Exemple:

Cliquez sur l'onglet A et remplir les documents de formulaire. Cliquez sur l'onglet B pour rechercher des informations. Cliquez sur l'onglet A et les informations sont toujours présentes.

Quelqu'un at-il un aperçu de la façon dont je pourrais accomplir cela?

+0

Quelle technologie utilisez-vous en dessous? Le simple fait de remplir par l'utilisateur ne devrait pas poser de problème. – Juri

+0

Im utilisant php pour les requêtes ajax. Je veux être en mesure de cliquer entre les onglets et de maintenir les mises à jour/modifications à cet endroit. – user177874

Répondre

3

Je pense que vous pouvez le faire si vous définissez l'option cache sur vos onglets pour true, .: par exemple

$('#tabs_selector_here').tabs({ 
    cache : true, 
    ... 
    whatever other options 
    ... 
}); 

Edit: il a travaillé pour moi.

Edit 2: Si vous cherchez quelque chose d'un peu plus avancé, vous pouvez lier une fonction à l'un des événements onglets (essayez tabsselect) qui gratte tout de votre forme et soit il envoie au serveur avec un appel Ajax ou l'enregistre juste quelque part dans le DOM.

+0

Merci jouet, je ne peux pas croire que j'ai raté cette option. J'ai cherché des âges. – user177874

+0

J'utilise cette option pour ne pas avoir à reconstruire complètement une carte Google Map (avec des marqueurs ~ 10k) chaque fois que l'on clique sur l'onglet. Option de cache = très pratique! –

0

Peut-être définir un champ caché dans votre page qui dit ne pas exécuter la requête TAB A ajax et ne lit que les données déjà chargées dans votre formulaire. Vous pouvez également créer un objet javascript dans lequel vous sauvegarderez les données chargées.