Listbox autovervollständigen
Frank
- programmiertechnik
0 Martin Hölter0 Frank
1 MudGuard
1 Struppi
0 Frank
Hallo,
ich habe eine Listbox, die dynamisch mit Namen gefüllt wird. Jetzt kann man den ersten Buchstaben eingeben und die Box klappt auf und alle Namen mit dem eingegebenen Buchstaben stehen untereinander.
Jetzt möchte ich den zweisten Buchstaben eingeben!
Das geht aber nicht, weil immer der erste Buchstabe überschrieben wird!
Geht das denn nicht?
Danke Gruß Frank
Hi!
ich habe eine Listbox, die dynamisch mit Namen gefüllt wird. Jetzt kann man den ersten Buchstaben eingeben und die Box klappt auf und alle Namen mit dem eingegebenen Buchstaben stehen untereinander.
Meinst du ein <select>?
Jetzt möchte ich den zweisten Buchstaben eingeben!
Das geht aber nicht, weil immer der erste Buchstabe überschrieben wird!
Geht das denn nicht?
Mit HTML nicht. Mit Javascript fällt mir auch spontan nix ein.
Aber wie immer der Hinweis: ohne weitere Infos wird es schwer, dir zu helfen. Hast du vielleicht ein online-Beispiel oder ein wenig(!) relevanten Quellcode?
Gruß aus Iserlohn
Martin
klar:
echo "<b>Vor und Nachname :</b> <select name=name size=1 class=TEXTBOX>";
asort($result);
echo "<option>alle";
foreach ($result as $value)
{
echo "<option>$value";
}
echo "</select>";
aber das Problem hat ein <select> ja immer!
Danke Frank
Hi!
Ganz nebenbei - warum gibst du dem Label nicht sein passendes Element?
echo "<label for="name">Vor und Nachname :</label> <select name="name" size="1" class="TEXTBOX" id="name">";
aber das Problem hat ein <select> ja immer!
Japp. Einziger Lösungsansatz per Javascript:
Den Event onkeypress überwachen und dann eine Funktion aufrufen, die sämtliche Dropdown-Elemente, die nicht mit denselben Buchstaben beginnen, herausschmeisst. Welche Tasten gedrückt wurden, findest du über das event-Objekt heraus.
Gruß aus Iserlohn
Martin
Hallo,
gute Idee.
Aber wie komme ich auf den zweiten Buchstaben?
Frank
hi,
Den Event onkeypress überwachen und dann eine Funktion aufrufen, die sämtliche Dropdown-Elemente, die nicht mit denselben Buchstaben beginnen, herausschmeisst.
Vergiss nicht, dass du sie auch wieder "reinschmeissen" solltest - vielleicht vertippt sich der User ja mal ...
gruß,
wahsaga
Hi,
ich habe eine Listbox, die dynamisch mit Namen gefüllt wird. Jetzt kann man den ersten Buchstaben eingeben und die Box klappt auf und alle Namen mit dem eingegebenen Buchstaben stehen untereinander.
Jetzt möchte ich den zweisten Buchstaben eingeben!
Das geht aber nicht, weil immer der erste Buchstabe überschrieben wird!
Geht das denn nicht?
Das ist eine Frage des Timings.
Gerade eben ausprobiert mit der Select-Liste für Themenbereiche hier im Forum.
Eintippen von C (CGI ist ausgewählt), etwas warten, Eintippen von S ==> Server ist ausgewählt.
Eintippen von CS (ohne warten) - CSS ist ausgewählt.
Eintippen von C (CGI ist ausgewählt), etwas warten, Eintippen von C ==> CSS ist ausgewählt (mit Warten und Wiederholen desselben Buchstabens werden die Einträge, die mit diesem Buchstaben beginnen, der Reihe nach ausgewählt).
Vielleicht machen andere Browser das anders, aber Firefox macht es wie beschrieben.
cu,
Andreas
ich habe eine Listbox, die dynamisch mit Namen gefüllt wird. Jetzt kann man den ersten Buchstaben eingeben und die Box klappt auf und alle Namen mit dem eingegebenen Buchstaben stehen untereinander.
Jetzt möchte ich den zweisten Buchstaben eingeben!
Das geht aber nicht, weil immer der erste Buchstabe überschrieben wird!
Geht das denn nicht?
nein, nur mit JS.
Du meinst in etwa so: http://jstruebig.de/web/javascript/source/optionliste.html
Struppi.
Danke,
genau der rechte Kasten !
Gruß Frank