13

Sto utilizzando il completamento automatico di jQuery per cercare un database locale di città. Ecco il codice:Seleziona automaticamente il primo risultato dell'interfaccia utente jQuery

Vorrei il primo valore restituito da selezionare per impostazione predefinita (come funziona su Facebook). Quindi, in sostanza, se premono semplicemente invio, attiveranno la selezione del primo risultato.

Ho pensato che fosse quello che ha fatto autoFocus: true, ma non funziona. Non mostrare errori, semplicemente non selezionando il primo risultato.

Pensieri?

+0

Mi sembra soddisfacente. . . : P – daxnitro

risposta

25

Autofocus metterà in evidenza il primo record ..

Il tuo codice sarebbe allora solo bisogno di includere autoFocus: true, come di seguito:

$('#txt_search_city').autocomplete({ 
    source: url, 
    delay: 0, 
    autoFocus: true, 
    select: function(event, ui) { 
     $("#id_city").val(ui.item.id); 
     $(this).closest('form').submit(); 
    }, 
    focus: function(event, ui) { event.preventDefault(); } 
}); 
+0

Il codice è in questione e la risposta è la stessa. –

10

Questo sembra essere superata. Ho avuto lo stesso problema. Basta usare .autocomplete({autoFocus: true}) Sto usando jquery-ui-1.10.0.min e ora funziona. Nessuna spina è necessaria.

+3

Fa sì che il primo risultato venga messo a fuoco, ma in realtà non è selezionato –

+1

Sì. L'utente deve premere invio per confermare il completamento automatico. Non penso sia saggio selezionare automaticamente e caricare il primo hit dopo che l'utente ha digitato solo due o tre caratteri. –

+0

sì, questo funziona – Irshu