2010-10-09 2 views
3

J'ai une zone de texte dans laquelle j'écris des notes. Lorsque je saisis un certain caractère, par exemple "@", je veux créer une autocomplétion Jquery en ligne qui cherche un terme correspondant aux caractères après le "@".Comment procéder pour créer une saisie semi-automatique Jquery en ligne qui est déclenchée par une entrée de caractère donnée et recherche un ui.term modifié

Un exemple de l'entrée textarea pourrait être:

S'il vous plaît appelez citoyen @John au sujet de son ordre.

Des idées?

Répondre

1

Eh bien, ce n'est certainement pas que simple, mais voici comment je voudrais approche ce problème.

Tout d'abord, jetez un oeil à la jQuery UI autocomplete plugin's documentations page. La solution ici serait une combinaison de ceux-là.

Vous voulez enregistrer le dernier caractère saisi par l'utilisateur dans une variable, puis vérifier autocompletesearch pour voir si les caractères que l'utilisateur est entrée actuellement est après une @ et avant un autre caractère d'espace blanc, et l'annulation de la recherche renvoyer false si la condition n'est pas remplie.

Suivant la source pour la saisie semi-automatique devra être un rappel personnalisé qui traite le contenu actuel du textarea pour ce que l'utilisateur a déjà tapé après la @ et une recherche dans votre tableau pour correspont à ce nom.

Enfin, l'événement autocompleteselect devra être modifié pour être inséré dans les noms dans les bonnes positions après que l'utilisateur ait choisi le nom. L'événement autocompletefocus devra également être supprimé pour que cela fonctionne. Vous aurez envie de jeter un coup d'œil sur les tags multiples et les exemples de combobox pour cela.