Avatar billede sylvesternielsen Nybegynder
21. januar 2003 - 23:43 Der er 13 kommentarer og
1 løsning

Autocomplete

Hvordan laver jeg en autocomplete function?

Jeg har en liste over navnene som er kommasepereret og et input field..

Det skulle gerne virke ved tryk på tab..
Avatar billede minijensen1 Nybegynder
22. januar 2003 - 00:45 #1
Avatar billede sylvesternielsen Nybegynder
22. januar 2003 - 01:11 #2
Jeg har faktisk kigget... Men kan ikke finde ud af hvordan jeg skal bruge det..
Avatar billede minijensen1 Nybegynder
22. januar 2003 - 07:18 #3
hmm, okay - det er også lidt besværligt - jeg kan lave et eksempel til dig her i eftermiddag når jeg engang er kommet hjem :)
Avatar billede sylvesternielsen Nybegynder
22. januar 2003 - 12:20 #4
det ville være lækkert.. bruger forresten PHP hvis du skal bruge det til noget
Avatar billede minijensen1 Nybegynder
22. januar 2003 - 15:45 #5
hmm, jeg kan godt nok ikke få den til at fange TAB-tasten da den hopper væk fra feltet hver gang :/ .. men har fået lavet følgende: http://minijensen1.lir.dk/exp/308142.html .. den autocompleter når den finder ord som passer, og man skal så bare trykke pil til højre for at vælge ..

Koden er lavet ud fra et af spørgsmålene fundet fra linket i min første kommentar, så det er begrænset hvor meget mere jeg kan hjælpe :/
Avatar billede sylvesternielsen Nybegynder
22. januar 2003 - 17:14 #6
Det må da kunne lade sig gøre at opfange tabtasten...

Stiller lige et spørgsmål med det og vender tilbage hvis jeg får svar..
Avatar billede sylvesternielsen Nybegynder
22. januar 2003 - 17:18 #7
Jeg kan ikke få den til at virke på mit script.. :-/
Avatar billede sylvesternielsen Nybegynder
22. januar 2003 - 17:41 #8
Jeg har fået den til at virke, men kan se at det KUN virker i starten af feltet... Hvis jeg kan få det til at virke hvor som helst vil det kunne bruges
Avatar billede hnteknik Novice
23. april 2003 - 15:23 #9
Er det denne du søger et eksempel på ???
Henrik

<HTML>
<HEAD>
<TITLE>AutoComplete</TITLE>
</HEAD>
<BODY>

<SCRIPT>
function matchFieldSelect (field) {
  var found = false;
  for (var i = 0; i < myOptions.length; i++)
    if ((found = myOptions[i].indexOf(field.value) == 0))
      break;
  if (field.createTextRange) {
    var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;"
    if (cursorKeys.indexOf(event.keyCode+";") == -1) {
      var r1 = field.createTextRange()
      var oldValue = r1.text;
      var newValue = found ? myOptions[i] : oldValue;
      if (newValue != field.value) {
        field.value = newValue
        var rNew = field.createTextRange()
        rNew.moveStart('character', oldValue.length)
        rNew.select()
      }
    }
  }
}

// Valgmuligheder
myOptions = new Array("bamse","bobby","bonas","bongi","byrse")

</SCRIPT>

<FORM NAME="aForm">
AutoComplete
<INPUT TYPE="text" NAME="word"
      ONKEYUP="matchFieldSelect(this)"
> dummy for tab test only
<INPUT TYPE="text" NAME="dummy"
     
>
</FORM>

</BODY>
</HTML>
Avatar billede hnteknik Novice
23. april 2003 - 15:36 #10
Og så lige med Uppercase check:

if ((found = myOptions[i].toUpperCase().indexOf(field.value.toUpperCase()) == 0))

myOptions = new Array("bamse","Bimse","bobby","bonas","bongi","byrse")
Avatar billede sylvesternielsen Nybegynder
23. april 2003 - 16:52 #11
Den virker da også kun i starten af feltet...
Avatar billede hnteknik Novice
24. april 2003 - 15:14 #12
ØH - autocomplete funktioner virker ved at sammenligne fra venstre mod højre - og autocomplete.

Det du søger, er det - say : obb skal finde 'bobby' og 'koBby' ???
eller mener du ikke at den autocompleter
eller bruger du ikke text feltet men dropdownfeltet ???
eller bruger du ikke IE ???
Avatar billede sylvesternielsen Nybegynder
11. juli 2003 - 23:46 #13
Jeg skal have den til at læse fra starten eller fra det sidste mellemrum hvis der er sådan et..
Avatar billede sylvesternielsen Nybegynder
06. november 2003 - 10:27 #14
Lukker...
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