2009-10-06 14 views
1

J'utilise une approche Wizard.La table ne conserve pas la sélection

Dans le premier écran, j'ai utilisé la logique pour mettre en évidence les lignes de la table. L'utilisateur passe à un deuxième écran/page et l'utilisateur est maintenant invité à remplir la zone de texte et à soumettre le formulaire. Après la soumission du formulaire, lorsque l'utilisateur revient au premier écran/page, les lignes ne sont plus affichées. S'il vous plaît partager un peu de code de la façon de conserver la sélection de ligne de table même lorsque je me déplace d'une page à l'autre, puis revenez à la même page. Je ne veux pas utiliser le plugin

+0

Vous pages ou rechargez réellement vous utilisez les onglets ajax? –

+0

rechargement .. je ne peux pas utiliser les onglets ajax comme le client ne veut pas .. donc je pensais stocker les rownumbers, puis réappliquer rownumbers lorsque l'écran 1 recharge .. je ne sais pas comment faire ou s'il y a d'autres moyens. – KJai

+0

Depuis quand un client peut-il spécifier l'implémentation? ... Vous pouvez pirater quelque chose ou vous pouvez avoir tout l'assistant sur une seule page ... – James

Répondre

2

Si vous chargez une nouvelle page, votre contexte javascript sera réinitialisé; vous ne pouvez pas vous "souvenir" des valeurs d'une page à l'autre.

Ainsi, les options:

1) ne pas recharger la page; avoir plusieurs sections (par exemple, divs) et afficher/masquer les différentes en utilisant javascript (qui peut ou non impliquer ajax, et ne doit pas être une interface à onglets). Dans ce scénario, vous pouvez stocker les lignes sélectionnées dans une variable javascript.

2) rechargez la page, mais publiez les lignes sélectionnées sur le serveur et rappelez-les (par exemple dans une session), puis sélectionnez-les à nouveau lorsque la première page est renvoyée. Vous ne pouvez pas offrir plus de détails sur la façon de le faire sans savoir ce que vous utilisez du côté serveur (par exemple PHP, Java) mais l'idée est d'utiliser javascript pour placer les lignes sélectionnées dans les données POST, par ex. en définissant un champ masqué pour les lignes sélectionnées. 3) avoir les différents "écrans" que vous chargez dans un iframe, et stocker les lignes sélectionnées du premier écran dans une variable javascript dans le contexte de la page parente (qui ne recharge jamais). Vous pouvez le faire si les pages internes et externes sont dans le même domaine.

1

En plus des suggestions de JacobM:

4) Si vous avez seulement pour stocker une petite quantité de données (par exemple une dizaine de rangée indicies) et les données ne doivent pas persister pendant trop longtemps, vous pourrait simplement utiliser des cookies pour stocker les indices de ligne entre les pages.

5) En fonction de vos navigateurs cibles, vous pourrez peut-être utiliser DOM Storage ou quelque chose comme PersistJS

Questions connexes