Comment puis-je coder une fonction d'auto-complétion simple avec ExtJs? Si le champ a l'adresse et ils commencent à taper st
il devrait devenir rue, etcChamp de texte complet avec ExtJs
Répondre
Comme le suggère Mitch dans son commentaire, vous pouvez utiliser Ext.form.Combobox, correctement configuré, pour ce faire. Vous n'aurez pas besoin de lier quoi que ce soit à l'événement keyup, car Combobox le gérera pour vous.
Voici le début d'une configuration qui devrait fonctionner. Vous devrez fournir un Ext.data.Store approprié (ou une sous-classe de celui-ci), ainsi que quelques autres valeurs de configuration (displayField, valueField, queryParam, etc.). Tous les trucs nécessaires est assez bien documenté dans l'API docs)
MyTypeahead = new Ext.form.ComboBox({
triggerAction:'all',
typeAhead:true,
mode:'remote',
minChars:2,
forceSelection:true,
hideTrigger:true
});
J'étais sous l'impression que l'entrée comme "123 main st" devrait déclencher la suggestion "123 rue principale" où "rue" est dans le dictionnaire mais "123 rue principale" ne l'est pas; à ma connaissance, il n'y a pas de mécanisme automatique dans ComboBox pour cela. Bien que je n'ai jamais utilisé queryParam auparavant, je peux me tromper. Quoi qu'il en soit, j'ai donné +1. –
Ah, je ne l'ai pas lu de cette façon - ma réponse est juste un simple champ de typé de sélection forcée. "123 rue principale" suggérerait "123 rue principale" si "123 rue principale" existait comme une option. queryParam nomme simplement la variable de requête utilisée pour effectuer la recherche à distance. – timdev
Mitch a raison sur ce que je cherchais. J'ai encore donné +1 pour l'effort et j'ai accepté la réponse. – fastcodejava
Voici l'exemple qu'ils ont, ils l'appellent "live search".
ExtJS: Comment faire combobox exécuter « Contient »/comme la recherche voir this
- 1. ExtJS réinitialisés champ de recherche
- 2. Champ complet de Lucene
- 3. texte d'entrée ExtJS maskRe
- 4. Mappage du champ XmlReader de ExtJS
- 5. ExtJS désactivant la validation de champ onkeyup
- 6. appel Extjs form.submit() de changement de valeur du champ
- 7. Division d'un champ de nom complet en prénom et nom
- 8. Silverlight UserControl avec champ de texte
- 9. Intégrer l'index de texte normal et complet dans SQL Server
- 10. Régler les valeurs de champ de formulaire dans ExtJS
- 11. Texte automatique complet restant à l'écran
- 12. sélection texte du champ avec javascript
- 13. PHP Champ de texte unique?
- 14. JQuery Auto-Complet avec TextChanged/OnBlur PostBack
- 15. Problème avec extjs
- 16. Texte statique dans le champ de texte?
- 17. description texte dans un champ de texte?
- 18. texte dans le champ de texte
- 19. (O) Auth avec ExtJS
- 20. ExtJs Framework avec Flex
- 21. Ajouter dynamiquement des zones de texte à un FormPanel sur l'entrée utilisateur avec ExtJS
- 22. Texte tiré vers CGContextRef Pas toujours complet
- 23. Comment voir le texte d'un champ de texte dans un autre champ de texte?
- 24. Windows API Champ de texte avec des caractères de décalage
- 25. Extjs & explorer & upload de fichier
- 26. Comment voir le nom complet d'un champ dans TFS
- 27. Numéro de l'index complet de texte de SQL Server 2008
- 28. ExtJS - forme échec MessageBox
- 29. Afficher un champ de texte avec des guillemets simples
- 30. personnalisée Flash police avec texte de champ dynamique
Je vous écris ceci comme un commentaire plutôt qu'une réponse depuis Je n'ai pas le temps de vous donner du code testé, juste un croquis. Il semble que cela peut être fait avec ComboBox avec les propriétés de configuration hideTrigger: true (pour qu'il ressemble à un TextField normal) et typeAhead: true (qui fournit un mécanisme pour les suggestions), et avec un écouteur pour l'événement keyup, qui peut alors analyser la chaîne (getValue()) et voir si le dernier mot correspond à un dictionnaire donné et remplir le ComboBox avec n'importe quelle suggestion en conséquence. –
@fastcodejava pouvez-vous poster votre code complété? – freestyle