2009-09-30 7 views
1

J'ai créé un script autosuggest utilisant php, ajax et quelques css mais je n'arrive pas à comprendre comment le faire quand le script suggère des résultats pour permettre à l'utilisateur de faire défiler la liste des résultats en utilisant les flèches du clavier sélectionnez le résultat souhaité. Le script s'affiche actuellement dans un format de liste et, encliquant sur les résultats, l'information est ensuite remplie dans la zone de recherche.comment: ajouter un clavier de défilement/entrée pour autosuggest script?

Quelle est la technique utilisée pour permettre à l'utilisateur de faire défiler vers le bas avec le clavier et appuyer sur Entrée pour sélectionner un résultat?

Merci

Répondre

1

J'utilise jquery et l'un de ses multiples plugins auto-complet pour ce pendant un certain temps ... il est à peu près une évidence pour l'intégrer .. et vous obtenez un tas de assez subtilités complexes gratuitement.

Voici une démo de celui que je l'ai utilisé un groupe: http://view.jquery.com/trunk/plugins/autocomplete/demo/

EDIT:

en fin de compte si vous voulez rouler votre propre, vous aurez besoin d'écouter les événements de clavier et de garder trace de votre position dans la liste ... puis sur la touche d'entrée, appuyez sur la valeur sélectionnée dans le champ de texte. voici une bonne vue d'ensemble de choses des événements du clavier:

http://unixpapa.com/js/key.html

http://www.javascriptkit.com/javatutors/javascriptkey.shtml

Je recommanderais d'utiliser une bibliothèque pour abstraire tous les nuttiness du navigateur .. jquery est une bibliothèque impressionnante avec des milliers d'heures de test et un support cross-browser robuste. Il normalise le modèle d'événement du navigateur pour vous et facilite grandement la lecture et la maintenance de votre code.

+0

la seule caractéristique qui me manque est la fonctionnalité ci-dessus, j'aime faire mes propres scripts et je n'ai pas besoin de beaucoup de fioritures supplémentaires – payling

+0

ce plugin permet la navigation au clavier de la liste de saisie semi-automatique ... ou suis-je malentendu? tapez b dans la première case de la démo et utilisez la flèche vers le bas et entrez ... pas ce que vous voulez dire? – danb

+0

Je vous entends sur le roulement de votre propre chose .. mais c'est juste un tel problème résolu ... un peu ennuyeux :) – danb

Questions connexes