2010-06-15 12 views
3

J'ai des éléments dans une cellule de tableau qui est activée et désactivée.J'ai besoin d'annuler l'état de la jQuery .toggle (impair, même)

Un bouton externe accepte un clic et soumet les valeurs de cellules sélectionnées via ajax.

Le problème est que je veux réinitialiser l'état de bascule pour les cellules sélectionnées.

Je peux facilement désactiver la surbrillance, mais j'ai besoin d'un double-clic pour déclencher le bon basculement.

Est-ce que le .toggle (impair, pair) peut être réinitialisé ou cyclé via un appel externe?

Merci

Répondre

2

J'ai finalement résolu ce problème en sélectionnant la liste déjà basculée d'éléments. J'appelle alors un .click dessus.

Ce qui semble être un peu une solution de contournement, mais puisque je ne peux pas déclencher l'état de bascule. Je me suis arrangé pour cela.

0

.toggle() est le même que l'alternance entre .show() et .hide() donc il suffit d'appeler .show() ou .hide() en fonction de ce que l'état souhaité « Reset ».

si vous utilisez .toggle() pour faire défiler les gestionnaires, il suffit de dissocier et de relier l'événement de bascule.

+0

Le problème est que j'utilise bascule dans les 2 ou plusieurs fonctions d'alternance. Je suis ensuite désactivé via un autre bouton et j'ai besoin de réinitialiser par programme l'état de basculement des éléments définis. – EarlyPoster

2

Je n'ai pas testé mais, pourrait-il être fait comme ça?



//reset the toggle state<br> 
     $('#tablecell').unbind('click').toggle(fn1, fn2);<br> 
     $('#tablecell').toggle(fn1, fn2); 
+0

Annuler la liaison, puis réinitialiser les fonctions actuelles? – EarlyPoster