:ccool:
n’hésites pas à poursuivre ce post en cas de souci d'intégration de ce code ou bien ouvrir un autre post si le sujet est différent.
Version imprimable
:ccool:
n’hésites pas à poursuivre ce post en cas de souci d'intégration de ce code ou bien ouvrir un autre post si le sujet est différent.
Mouais bon je pense pas qu'il y est grand monde qui connaisse Progress :/
Déjà qu'il n'y a rien sur le net x)
Heu en effet progress à l'air assez "confidentiel", je parlais de soucis javascript / jquery.
Ok pas de soucis ;)
J'ai voulut faire une petite amélioration dans mon code dans la partie afficher/cacher la liste : faire en sorte que la liste se cache lorsque l'on perd le focus.
Du coup j'ai fais quelques recherche et j'ai testé ce morceau de code :
Mais le problème avec cette ligne, c'est que lorsque je souhaite coché une case la liste se cache directement ce qui est logique car je perd le focus.Code:$("input[type=button]").blur( function() { $('.containerElCombo').hide(); } );
Comment contourné ça ? :P
Voilà le résultat que j'ai pour l'instant : http://jsfiddle.net/dAWZ2/14/
en procédant logiquement sur chaque evenement des elements ...
http://jsfiddle.net/dAWZ2/13/
Je comprend pas du tout les modifications que tu a faite :?
(jQuery c'est nouveau pour moi...).
avec commentaires
http://jsfiddle.net/dAWZ2/15/
Ok merci ;)
Mais non je pense que je me suis "encore" mal exprimé x)
Je souhaite pas afficher la liste lorsque j'ai le focus sur l'input. Mais cacher la liste lorsque je perd le focus.
Exemple :
- J'affiche la liste en cliquant sur "Afficher".- Je coche les cases que je souhaite.- Et une fois fini de cocher les cases, soit je reclique sur le bouton "Afficher" pour cacher la liste soit je la cache en perdant le focus (sur quel élément je sais pas trop, je pense sur les checkbox mais je l'ai fait et ça marche pas :/ ).
http://jsfiddle.net/dAWZ2/17/
je crois que tu n'as pas bien saisi le blur ...Citation:
- Et une fois fini de cocher les cases, soit je reclique sur le bouton "Afficher" soit je cache la liste en perdant le focus (sur quel élément je sais pas trop, je pense sur les checkbox mais je l'ai fait et ça marche pas :/ ).
http://jsfiddle.net/dAWZ2/19/
Ben c'est en faisant mes recherches que je suis tombé sur le blur, et sa disait que sa "déclenche l'évènement qui se produit lorsque l'élément perd le focus".
Et je te remercie pour ton code mais comme je l'ai dit avant je ne cherche pas à afficher la liste quand je clique sur la zone de saisie (l'input). ^^
oui lorsque l'element perd le focus ...
mais dans ton cas de figure ...
tu ne peux pas logiquement savoir si tu dois masquer ou non la liste sur un blur ... vu que tu ne sais pas quel est l'element qui prend le focus à la suite ...
Ben pour moi l'element qui prendrait le focus sa serait les checkboxes mais sa voudrait dire que si je coche une case et qu'ensuite je veuille cocher une deuxième case je pourrai pas car j'aurai perdu le focus de la première et sa cachera la liste. :/
Ce qu'il faudrait je pense c'est dire que lorsque la liste est affiché et que je clique dans une zone autre que celle de la liste, ça la ferme. C'est plus logique non ?
NB: trop de ... tue les ... :P
comment peux tu le savoir par avance ????Citation:
Ben pour moi l'element qui prendrait le focus sa serait les checkboxes
Imagine c'est un checkbox qui a le focus ????
comment peux tu savoir que tu vas cliquer sur un des inputs text ou sur un bouton ???
comment veux tu sur le blur du checkbox qui avait le focus lui dire de cacher ou non la liste ? ne sachant pas si tu as clické sur un autre checkbox de la même liste ou ailleurs ???
c'est une simple question de logique chronologique
Et trop de ???? tue le ???? ???
xD
C'est pour sa que j'ai dis qu'il faudrait dire que lorsque la liste est affiché et que je clique dans une zone autre que celle de la liste, ça la ferme. ;););)
et ce n'est pas ce que fait le code proposé ???
quand je clique sur un autre input ... ou un autre bouton ...
le liste ouverte se ferme ...
Maintenant si tu parles d'autres zones ...
Je ne peux pas le deviner ...
Si sa le fait avec les autres boutons.
Mais il faudrait que quand la liste est affiché et que je clique par exemple ailleurs dans la page sa le fasse aussi.
Exemple : la liste est affiché et je clique à coter du bouton, sur du vide, hé ben sa cache la liste.
donc comme ceci ?
http://jsfiddle.net/dAWZ2/20/
Oui voilà. Mais pas forcément par rapport à une autre div. Avec une balise comme <html> par exemple pour couvrir toute la page, si c'est possible.
J'ai rien dit ^^
J'avais pas clairement lu tout ton code :P
Suffit de remplacer "body" par "html" est c'est bon :)
Merci ;)