2012-02-05 12 views

Respuesta

13

aquí es un ejemplo práctico de cómo hacerlo: http://jsfiddle.net/4pk3V/

mantener su caja de autocompletar abierta mediante la búsqueda en la misma entrada de nuevo cada vez que se dispara cerca del evento:

$("#input").autocomplete({ 
    source: availableTags, 

    close : function (event, ui) { 
     val = $("#comment").val(); 
     $("#input").autocomplete("search", val); //keep autocomplete open by 
     //searching the same input again 
     $("#input").focus(); 
     return false; 
    } 
}); 
+2

Eliminando '$ (" # comment "). focus();' mantiene la autocompleta abierta y permite al usuario seleccionar otro elemento. – pete

+0

Gracias por el esfuerzo :) – Youss

27

Hey lo siento por la respuesta tardía!

Creo que esto es mucho más limpio que mantener el foco en la entrada y la búsqueda varias veces.

Prueba esto ...

javascript:

$("#input1").autocomplete({ 
    source: availableTags, 
    close : function (event, ui) { 
     if (!$("ul.ui-autocomplete").is(":visible")) { 
      $("ul.ui-autocomplete").show(); 
     } 
    } 
}); 

DEMO: http://jsfiddle.net/dirtyd77/AJtvJ/

Espero que esto ayude!

+2

Mucho mejor que realizar llamadas ajax cada vez –

+2

enlace de demostración ya no funciona –

5

También hay un CSS única opción:

<style> 
    .ui-autocomplete { display: inline-block !important; } 
</style> 

Ejemplo:http://jsfiddle.net/Monstermensch/G7YYZ/1/


También debe agregar el siguiente código para evitar problemas si se cambia el tamaño del navegador (fuente: Repositioning jQuery UI Autocomplete on browser resize):

$(window).resize(function() { 
    $("#input1").autocomplete("search"); 
}); 
+0

La opción de solo CSS es excelente. Lo uso para evitar que el widget de autocompletar se cierre mientras estoy tratando de inspeccionarlo en el inspector. –

Cuestiones relacionadas