Textfeld nach Eingabe der ersten Buchstaben vervollständigen
Christian Hofer
- browser
0 bluntburn0 Christian Hofer
0 wahsaga
Hallo,
folgende Situation:
-> Datenbank mit gespeicherten Namen
-> Textfeld
Wenn ich jetzt ins Textfeld z.B. "Her" eingebe, dann soll automatisch vervöllständigt werden, wenn es z.B. den Namen "Herrmann" in der Datenbank gibt...
Gibt es einen Lösungsansatz für Javascript oder muss man z.B. auf ein Java-Applet zurückgreifen, um diese Funktionalität zu erreichen!
Danke im Voraus,
Christian
Hallo Christian,
-> Datenbank mit gespeicherten Namen
-> TextfeldWenn ich jetzt ins Textfeld z.B. "Her" eingebe, dann soll automatisch vervöllständigt werden, wenn es z.B. den Namen "Herrmann" in der Datenbank gibt...
Es gibt durchaus die Möglichkeit, dies in Javascript zu machen. Hierzu müsstest Du alle Namen der Datenbank zuerst in ein Array schreiben, das dann mit der Eingabe im Textfeld verglichen wird. Genaueres könnte ich Dir noch posten...
Allerdings wird die Sache ab einer gewissen Anzahl von Datensätzen extrem unperformant. Wieviele Datensätze (Namen) sind es denn?
Grüße,
bluntburn
Wieviele Datensätze (Namen) sind es denn?
Es ist eine Kundendatenbank und da kann man schon von einigen tausend Einträgen ausgehen. An deinen Vorschlag habe ich auch schon gedacht, 5.000 Einträge mit einem search durchzugehen - und das bei jeder Eingabe - ist einfach nicht performant genug...
Meinst du es gibt eine Möglichkeit dies mit einem Java-Applet performanter zu gestalten??
hi,
Es ist eine Kundendatenbank und da kann man schon von einigen tausend Einträgen ausgehen. An deinen Vorschlag habe ich auch schon gedacht, 5.000 Einträge mit einem search durchzugehen - und das bei jeder Eingabe - ist einfach nicht performant genug...
dann sorge doch selber dafür, dass du die suche etwas performanter gestalten kannst.
du könntest ja mehrdimensionale arrays verwenden, in denen du die begriffe ablegst. auf der ersten ebene für jeden buchstaben ein array, also
begriffe[a][0] = "a...";
begriffe[a][1] = "a...";
begriffe[b][0] = "b...";
begriffe[b][0] = "b...";
so bräuchtest du nach der eingabe des ersten buchstabens schon nur noch eine teilmenge durchsuchen.
bei bedarf weitest du das ganze dann noch auf eine oder zwei weitere array-ebenen aus, also
begriffe[a][a] = "aa..";
begriffe[a][b] = "ab..";
gruss,
wahsaga
hi,
bei bedarf weitest du das ganze dann noch auf eine oder zwei weitere array-ebenen aus, also
begriffe[a][a] = "aa..";
begriffe[a][b] = "ab..";
korrektur:
begriffe[a][a][0] = "aa..";
...
begriffe[a][b][1] = "ab..";
...
gruss,
wahsaga
Danke für eure Hilfe, werde die Arraysortierung mal durchprobieren.
Gruß,
Christian
Hi Christian,
Meinst du es gibt eine Möglichkeit dies mit einem Java-Applet performanter zu gestalten??
Definitiv ja! Allerdings ist das jetzt nicht mal eben so zu machen.
Den Vorschlag von wahsaga kann man sicherlich auch nochmal überdenken... es bleibt aber das Problem einer Clierntseitige Lösung, dass alle Datensätze mitgeladen werden müssen, was dann eine beachtliche Datenmenge ausmachen wird...
Grüße,
bluntburn
hi,
Gibt es einen Lösungsansatz für Javascript oder muss man z.B. auf ein Java-Applet zurückgreifen, um diese Funktionalität zu erreichen!
gibt es sicherlich - aber wäre ein select-feld an so einer stelle nicht sinnvoller?
gruss,
wahsaga