13

Estoy utilizando la función Autocompletar de jQuery para buscar en una base de datos local de ciudades. Aquí está el código:Seleccione el primer resultado de la IU de jquery automáticamente

$('#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(); } 
}); 

Me gustaría que el primer valor devuelto sea seleccionado por defecto (como funciona en Facebook). Entonces, esencialmente, si presionan enter, activarán la selección del primer resultado.

Pensé que eso es lo que autoFocus: true hizo, pero no está funcionando. No muestra errores, simplemente no selecciona el primer resultado.

¿Pensamientos?

+0

Me parece bien. . . : P – daxnitro

Respuesta

25

Autofocus destacará el primer registro ..

Su código entonces sólo tiene que incluir autoFocus: true, como a continuación:

$('#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

El código está en cuestión y la respuesta es la misma. –

10

Ésta parece ser obsoleta. Yo tuve el mismo problema. Solo use .autocomplete({autoFocus: true}) Estoy usando jquery-ui-1.10.0.min y funciona ahora. No se necesita un enchufe.

+3

Hace que el primer resultado se enfoque, pero en realidad no está seleccionado –

+1

Sí. El usuario debe presionar enter para confirmar la autocompleta. No creo que sea aconsejable seleccionar automáticamente y cargar el primer hit después de que el usuario haya tecleado solo dos o tres caracteres. –

+0

sí, esto funciona – Irshu

Cuestiones relacionadas