2016-07-20 37 views
0

Ich habe ein Dropdown-Menü select2.Keypress-Ereignis auf select2 Textbox funktioniert nicht

<select class="eselect2" type="text" id="qename" style="width: 390px;"> 

        <option value="1">NY</option> 
      <option value="2">MA</option> 
      <option value="3">PA</option> 
      <option value="4">CA</option> 
       </select> 

mit einfacher Javascript

$(document).ready(function() { 
    console.log("ready!"); 
    $(".eselect2").select2(); 
    $('.select2-search__field').on("keydown", function(e) { 
        console.log(e.keyCode); // nothing happens 
      if (e.keyCode == 13) { 
       } 
     }); 
}); 

Ich habe ein Ereignis mit Tastendruck verbunden auf dem Eingabefeld. Es wird nicht ausgelöst, da die Textbox bei jedem Klick auf den Dropdown-Pfeil in select2 zerstört und neu erstellt wird. Ich habe eine Geige für die Klarheit angebracht. http://jsfiddle.net/sizekumar/ckfjzkhj/

Antwort

0

EDIT: Dies löst das Problem nicht.

Ich würde nicht nennen ein Duplikat, aber ich denke, diese Antwort direkt gilt: https://stackoverflow.com/a/30697173/5948237

$('.select2-input').on("keydown", function(e) { 
     if (e.keyCode == 13) { 
      } 
}); 
+0

Es ist der Code, den ich verwendet habe, aber es funktioniert nicht. In der neuen Dropdown-Liste select2 gibt es kein Element mit der Klasse select2-input und das Eingabeelement wird zerstört und dynamisch erstellt. – Sathish

0

Wirklich jQuery keypress Ereignis nicht auf input.select2-search__field Element abfeuert. Aber pure js Veranstaltung tut. Dieses Stück Code funktioniert für mich

document.getElementsByClassName('select2-search__field')[0].onkeypress = function(evt) { console.log(evt); }