Autocomplete mit vorgegebenen Variablen
blackdespair
- javascript
0 LX
Guten Morgen,
Ich verwende derzeit ein Script welches ein Eingabe Feld bei Texteingabe mit einer Liste von vorgegebenen variablen abgleicht und das eingabefeld bei übereinstimmungen vervollständigt.
Dies funktioniert momentan leide rnur im IE, damit könnte ich aber leben.
Meine Frage: Wie ist es möglich das die möglichen Eingaben in einem Auswahlmenü unter dem Eingabefeld erscheinen? Ähnlich wie bei gängigen Suchmaschinen.
Hat jemand eine Idee wie ich mein momentanes Script dahingehend anpassen kann oder kennt jemand ein Script welches diese Funktion hat?
Momentanes Script:
--------------------------------------------------------------------
--------------------------------------------------------------------
Number = new Object();
Keyword = new Object();
Descrip = new Object();
Case = new Object();
Case [0] = 2
Keyword[0] = 2
Number [0] = 2
Format [0] = 2
Number [1] = "1a"
Case [1] = "a"
Keyword[1] = "test1"
Descrip[1] = "Test 1"
Number [2] = "2b"
Case [2] = "b"
Keyword[2] = "test2"
Descrip[2] = "Test 2"
function komplett(searchfor) {
if (!self.event || String.fromCharCode(event.keyCode).search(/[\w-0-9.,]/)==-1) return;
sname=searchfor.value.toLowerCase();
for (var i=1; i <= Keyword[0]; i++) {
if (Keyword[i].toLowerCase().indexOf(sname)==0 && sname.length!=Keyword[i].length) {
searchfor.value=Keyword[i];
(range=searchfor.createTextRange()).moveStart('character',sname.length);
range.select();
break;
}
}
}
<INPUT TYPE="text" NAME="searchfor" autocomplete="on" onkeyup="komplett(this)">
--------------------------------------------------------------------
--------------------------------------------------------------------
Vorab vielen Dank.
mfg blackdespair
Hallo!
Ich habe sogar schon selbst ein solches Script entwickelt (nämlich das bei http://suche.web.de). Das ganze funktioniert wie alles andere auch: mit einigen DOM-Nodes und etwas JavaScript.
Einzig trickreich sind die Events (besonders die Tastatursteuerung) und vielleicht noch das Abholen der zu vervollständigenden Begriffe mittels asynchronem Javascript.
Abgesehen davon gibt es einige ganz brauchbare jQuery-Plugins mit der gleichen Funktionalität, bspw. hier.
Gruß, LX