Avatar billede debby Nybegynder
25. september 2000 - 10:23 Der er 1 kommentar og
1 løsning

javascript autocomplete

Jeg ønsker en egen \'autocomplete\' funksjon til et text-felt i en form. Når jeg f.eks skriver inn co i et felt skal coca-cola automatisk komme som forslag. Ordene hentes fra en array som er sorter alfabetisk.
Det må være mulig å fortsette å skrive i feltet etter at funksjonen har kommet med forslag til ord. Jeg vil altså ha noe som ligner på autocomplete i Excel eller IE5, bare med mine egne predefinerte ord.. Slik har jeg begynt:
function findEntry(txt)
{
  var k = \"\";
  var lengde = txt.value.length;
  var ord = new Array(\"coca-cola\", \"cory\", \"deb\", \"ella\", \"nescafe\", \"tone\");
 
  for (var i = 0; i < ord.length || k != \"\"; i++)
  {
    if (lengde > 0)
  {
      if(ord[i].substr(0, lengde) == txt.value)
      {
        txt.value = ord[i];
      }
      else
      {
        txt.value = txt.value;     
      }
    }
  }
  txt.select();
}

Avatar billede jumper Nybegynder
25. september 2000 - 21:48 #1
Hvis du gerne vil have samme look-and-feel som Excel, IE5 og Outlook, bliver du nødt til at bruge textRanges.

Et godt eksempel, der virker, kan findes på http://www.faqts.com/knowledge-base/view.phtml/aid/1174/fid/130

Flere af tingene i ovenstående kan godt rettes og optimeres, men det viser grundlæggende hvordan du skal gøre.

/Thor
Avatar billede debby Nybegynder
26. september 2000 - 08:36 #2
Ved å gjøre select-tag\'en i eksempelet hidden får jeg akkurat det resultatet jeg ønsker! Takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester