Select Menu über Javascript steuern

JanQ

Mitglied
Hallo Javascript Profis,

gibt es eine Möglichkeit über Javascript die Tastutar eingaben für eine Select Menu Liste auszulesen.

Hintergrund: Bei sehr langen dynamischen Auswahllisten in einem HTML Select Formularfeld wird die Bedienung sehr schwierig, da sehr viel zum scrollen ist (1000 Städtenamen). Die Tastatursteuerung (Eingabe: B) bringt mich zum ersten Buchstaben der Liste (z.B. Binz) Nach B kommen noch weitere Orte mit B z.B. Berlin. Wenn man jetzt ein "e" eingibt um Berlin auszuwählen springt man direkt zu dem ersten E in der Auswahlliste.

Kann man über den eventhandler keypressed dies auslesen. Alle modernen Office Programme besitzen diese Funktionalität des Autoselects.

Gibt es dafür eine Lösung oder ein Script für den Webbereich?

Vielen Dank für eure Hilfe.

Jan
 
Du könntest das, wie vermutet, über onkeypress(oder onkeydown) auslesen....die entsprechende Eigenschaft des Events nennt sich "keyCode".

Man könnte beim onfocus des Feldes eine Variable initiieren(und später leeren).
onkeypress hängt man an sie das eingegebene Zeichen.... welches man per fromCharCode() ermittelt.
Dann läuft man alle Optionen durch und vergleicht deren text-Eigenchaft anhand eines RegExp mit dem Wert der Variablen. Bei Übereinstimmung wird die Option selektiert.
 
hab das grad mal beim Suchen hier entdeckt und ich kenne eine super Sache für dieses Problem:

vielleicht kennst du PEAR (http://pear.php.net). Dort gibt es unter der Kategorie HTML ein Addon zu dem Paket Quickform namens Quickform_SelectFilter: http://pear.php.net/package/HTML_QuickForm_SelectFilter

Dieses Paket ermöglicht unter anderem folgendes: Man kann ein text-Input Feld an eine Select Liste koppeln. Wenn man etwas in das Input Feld eingibt, wird die Select Liste auf die EInträge reduziert, die auf die Eingabe passen. Dazu kann man noch einige Einstellungen machen.

Falls du dich mit PEAR und PHP nicht auskennst, kann ich gerne mal den JS Code hier posten, der dabei generiert wird.

Ciao, Jörg
 

Neue Beiträge

Zurück