2013-09-27 18 views
5

Ho digitare un completamento automatico jQuery avanti campo. funziona correttamente al 100% e mi suggerisce valori. Tuttavia, richiede che clicco sull'opzione che voglio selezionare.jQuery completamento automatico - digitare avanti esecuzione con scheda piuttosto che selezionare l'opzione di completamento automatico

se il valore in anticipo tipo è 1234 e clicco su 1234 si corre qualche logica con questo valore, avviso nell'esempio qui sotto.

se però digito nel 1234 e premi sul tasto tab, un'opzione di completamento automatico non è selezionata e quindi l'allarme non scatta. come posso dire jquery ad assumere il digitati di valore è selezionato quando si preme scheda e non obbligare l'utente a selezionare un'opzione dal tipo di completamento automatico avanti?

la mia sintassi è qui sotto:

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

per ribadire, voglio scrivere 1234 nel campo di inserimento, premi sul tasto tab e la logica di completamento automatico deve essere chiamato come se avessi cliccato su suggerimento di completamento automatico '1234' .

Questo può essere fatto? Forse un evento onchange per l'ingresso, ma come faccio ad ottenere la funzione onchange chiamato a chiamare la logica di completamento automatico?

Spero che abbia senso.

Grazie come sempre.

risposta

8

Credo che si desidera l'opzione autoFocus:

Se impostato true la prima voce verrà automaticamente messo a fuoco quando viene visualizzato il menu.

Con questo in mente, si sarebbe semplicemente bisogno di cambiare il vostro l'inizializzazione del 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 
    }); 
} 

Esempio:http://jsfiddle.net/WP29E/132/

+1

così facile, wow! grazie Andrew. – Smudger

+0

@Smudger: Nessun problema, felice di aiutare. –