lien : http://docs.jquery.com/UI/Autocomplete
Bonjour à tous,
Je cherche à modifier le comportement d'un autocomplete et bien que la documentation semble dire que c'est possible, cela manque un peu de précisions sur comment faire...
Je cherche pourtant à faire quelque chose de simple, je souhaite juste que l'évènement "focus" ne déclenche pas la mise à jour du champ INPUT et que celle-ci soit déclenchée par l'évènement "select".
Au regard de la doc c'est plutôt simple (et ça doit l'être d'ailleurs...)
Bon mais "canceling this event" pour moi c'est un peu léger comme explication...Before focus is moved to an item (not selecting), ui.item refers to the focused item. The default action of focus is to replace the text field's value with the value of the focused item. Canceling this event prevents the value from being updated, but does not prevent the menu item from being focused.
J'ai essayé ceci qui fait effectivement que plus rien ne se passe au survol de la liste proposée
Maintenant je voudrais que si l'on clique sur un élément de la liste celui-ci remplace le contenu de l'INPUT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $(function() { $("#tags").autocomplete({ source: "Ajax/clients/options.php", focus: function(){return false} }); });
D'après la doc c'est le comportement par défaut :
Or dans mon cas rien ne se passe lorsque l'on clique sur l'élément... si pardon le menu se ferme mais le champ n'est pas mis à jour.Triggered when an item is selected from the menu; ui.item refers to the selected item. The default action of select is to replace the text field's value with the value of the selected item. Canceling this event prevents the value from being updated, but does not prevent the menu from closing.
J'ai aussi fait le test suivant pour voir, mais rien ne se passe non plus :
ne devrais-je pas avoir un alert avec l'élément sélectionné lorsque je clique sur un élément de la liste ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $(function() { $("#tags").autocomplete({ source: "Ajax/clients/options.php", select: function(event,ui){alert(ui.item)} }); });
Merci d'avance pour vos réponses
Partager