2013-09-27 9 views
5

Mam pole wyprzedzające autouzupełniania typu jquery. działa poprawnie w 100% i podpowiada mi wartości. Wymaga to jednak kliknięcia opcji, którą chcę wybrać.Autouzupełnianie jquery - wpisz przed wykonaniem z użyciem karty, a nie wybierając opcję autouzupełniania.

jeśli wartość typu naprzód wynosi 1234, a kliknę 1234, to uruchamia pewną logikę z tą wartością, ostrzeż w poniższym przykładzie.

Jeśli jednak wpiszę 1234 i naciśnij kartę, opcja autouzupełniania nie jest wybrana, a więc alarm nie uruchamia się. jak mogę powiedzieć jquery, aby założyć, że wpisana wartość jest wybierana podczas naciskania tabulatora i nie zmuszać użytkownika do wybierania opcji z automatycznego autouzupełniania typu?

Moja składnia jest poniżej:

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
     source: "get_sku_codes", 
     messages: 
     { 
      noResults: '', 
      results: function() {} 
     }, 
     select: function(event, ui) 
     { 
      var selectedObj = ui.item; 
      alert(selectedObj); 
     } 
    }); 
} 

powtórzyć, chcę wpisać 1234 do pola wprowadzania, naciśnij TAB i logiki autouzupełniania musi być wywołana jakbym kliknięciu na sugestię autouzupełniania „1234” .

Czy to można zrobić? Być może zdarzenie onchange dla danych wejściowych, ale jak uzyskać wywołanie funkcji onchange w celu wywołania logiki autouzupełniania?

Mam nadzieję, że ma to sens.

Dzięki jak zawsze.

Odpowiedz

8

wierzę chcesz opcję autoFocus:

Jeśli ustawione na true pierwsza pozycja zostanie automatycznie koncentruje gdy menu jest wyświetlane.

Mając to na uwadze, że po prostu trzeba zmienić inicjalizacji widget:

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
     source: "get_sku_codes", 
     messages: 
     { 
      noResults: '', 
      results: function() {} 
     }, 
     select: function(event, ui) 
     { 
      var selectedObj = ui.item; 
      alert(selectedObj); 
     }, 
     autoFocus: true 
    }); 
} 

Przykład:http://jsfiddle.net/WP29E/132/

+1

takie proste, wow! dzięki Andrew. – Smudger

+0

@Smudger: Bez problemu, miło mi pomóc. –

Powiązane problemy