blackdespair: Autocomplete mit vorgegebenen Variablen

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

  1. 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

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a