option value => js-Funktion

Thema wurde von Manni_HB, 10. Oktober 2018 erstellt.

  1. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ich habe mich restlos verfahren! :mad:
    Wie bekomme ich die "value" an eine JS-Funktion ....
    Code:
    <form name="Categories">
    
        <input placeholder="Bitte wählen ..." type="search" list="categories">
       
        <datalist id="categories">
      
            <option value="6">Alte Autos</option>
            <option value="26">Regenschirme</option>
            <option value="19">Gebrauchte Hurra-Rufe</option>
            <option value="10">Abgelegte Freundinnen</option>
            <option value="1">ADMIN-Spielwiese</option>
           
        </datalist>   
    </form>
    
    ... ist trivial, aber ich check es grad nicht! :(
     
  2. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Ichsachma …
    Code:
    document.querySelectorAll('option').forEach(function(el) { 
      console.log(el.getAttribute('value'));
    });
    
    … oder so in der Art. Wenn du IE11-Kompatibilität noch brauchst, funktioniert forEach an der Stelle nicht, wenn ich mich recht entsinne.
     
  3. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    6. September 2011
    Beiträge:
    1.925
    Danke erhalten:
    456
    Danke vergeben:
    441
    denglisch;):D
     
  4. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Leider keine Reaktion - müsste nicht ein "onchange()" oder "onclick()" rein?
     
  5. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Moment, Moment. Beschreib mal ganz langsam und ausführlich, was du da tun willst. In der Eingangsfrage ging es nämlich nur darum, wie man an die Werte des value-Attributs der option-Tags rankommt, und darauf hab ich geantwortet. Jetzt willst du aber irgendwelche Events verarbeiten, das passt gerade nicht. :)
     
  6. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Unklare Fragestellung => sorry!

    Code aus #1 ist ein DropDown made by Manni .. mit Volltextsuche.
    Wenn Option gewählt, dann "value" an js-Funktion "js_manni()" übergeben - that all.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Aaah, also so etwas:

    HTML:
    <!DOCTYPE html>
    <html>
    <head>
        <title>Option-Event-Handling</title>
    </head>
    <body>
        <form>
            <select id="selectthis">
                <option value="eins">1</option>
                <option value="zwei">2</option>
                <option value="drei">3</option>
            </select>
        </form>
    
        <script>
            document.addEventListener('DOMContentLoaded', function() {
                let theSelect = document.querySelector('#selectthis');
                theSelect.addEventListener('change', function() {
                    let selectedOption = document.querySelector('#selectthis option:checked');
                    window.alert('selected: ' + selectedOption.getAttribute('value'));
                });
            });
        </script>
    </body>
    </html>
    
     

    Anhänge:

  8. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Im Prinzip ja - nur ich brauche <datalist> .. und das schliesst <select> aus => und das ist das wirkliche Problem! :(
     
  9. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Die <datalist> selbst ist ja kein interaktives Element, aber wenn du einen change-Eventlistener an das Element bindest, für das die <datalist> die Daten liefert, sollte das eigentlich gehen.
     
  10. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    #10 Manni_HB, 11. Oktober 2018
    Zuletzt bearbeitet: 15. Oktober 2018
    Würde er machen ... so er es könnte! :oops:
     
  11. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Kein JS-Tüfftler da, der das "value" aus dem Formular #1 an eine JS-Funktion bringt ... mit "onchange" oder "onclick" ?
    :(
     
  12. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Vielleicht gibts ja nen anderen Lösungsweg? Oder einen Umweg.
     
  13. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Negativ - ganz sicher!
     
  14. Anonymous

    Anonymous Mitglied

    Registriert seit:
    8. August 2013
    Beiträge:
    13
    Danke erhalten:
    1
    Danke vergeben:
    8
    ... ist das noch aktuell?

    mit jquery:
    id=input1 zum input-Feld hinzufügen

    <script>
    $(function(){
    $('input#input1').on('change',function(){
    alert( $(this).val() );
    });
    </script>

    oder:

    <input placeholder="Bitte wählen ..." type="search" list="categories" onchange="alert(this.value);">