[HTML] html / javascript <select> formular

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [HTML] html / javascript <select> formular

    hallo zusammen

    ich suche eine möglichkeit, eine auswahlliste schneller zu "durchsuchen"

    ist es möglich, mit der tastatur die anfangsbuchstaben einzugeben, und es dann direkt zu diesem eintrag springt?
    standardmässig ist es ja so, dass dies mit dem 1. buchstaben funktioniert!

    doch da die liste relativ gross ist, möchte ich dies mit mehreren buchstaben!

    angenommen ich hab folgende liste:

    annemarie
    erich
    hans
    heinrich
    peter
    wenn ich nun den H wähle, springt die markierung zu hans... und wenn ich "HE" wähle, springt die markierung zu erich, statt wie gewünnscht zu heinrich!

    gibt es dafür eine Lösung?
    brauche ich dazu ein javascript?


    vielen dank schon einmal für die hilfe!


    gruss

  • #2
    wenn ich nun den H wähle, springt die markierung zu hans... und wenn ich "HE" wähle, springt die markierung zu erich, statt wie gewünnscht zu heinrich!
    was hast denn du für nen browser? Oder bist du nur zu langsam?

    Eigentlich ist genau dieses Verhalten vorprogrammiert.

    Kommentar


    • #3
      leider muss das Tool IE kompatibel sein!

      und im IE 6.0 funktioniert diese funktion nicht! auch wenn ich noch so schnell klicke!

      Kommentar


      • #4
        Tatsächlich - im IE funzts nicht ;(

        Mein Vorschlag. Mach nen Textfeld wo man seine Buchstaben eingeben kann. Dann bei onkeyup einfach die Multiple-Selectbox durchlaufen und den entsprechenden Eintrag auf selected setzen.

        In der Beispielfunktion bekommt das Textfeld auch noch ne rote Hintergrundfarbe, wenn der Wortanfang nicht gefunden wurde.

        PHP-Code:
        //html
        <input type="text" onkeyup="searchWord(this, 'selectbox');"/>

        //js
        function searchWord(elemtarget){
            
        target document.getElementById(target);
            
            for(
        i=0target.lengthi++){
                if(
        target.options[i].text.toLowerCase().indexOf(elem.value) == 0){
                    
        target.selectedIndex i;
                    
        elem.style.backgroundColor '';
                    break;
                }else{
                    
        elem.style.backgroundColor '#ffcccc';
                }
            }
            

        Kommentar


        • #5
          wow...
          funktioniert gut, danke!

          werde es vorerst so anwenden!
          würde ich noch eine andere lösung finden, werde ich sie posten!


          gruss marco

          Kommentar


          • #6
            hallo

            nur noch als kleiner nachtrag:

            im IE 7.0 (beta) wird die funktion unterstützt!


            gruss

            Kommentar

            Lädt...
            X