2012-06-23 10 views
6

Estoy usando el popular plugin JQuery Autocomplete a continuación.jquery autocompletar el menú desplegable del disparador en la entrada: foco

http://jqueryui.com/demos/autocomplete/

Actualmente si escribe una frase aparece abajo de la caída, pero cuando se hace clic de distancia que oculta. Esto esta bien. Sin embargo, la única manera de devolver el menú desplegable es hacer clic en el campo de entrada y escribir más caracteres o presionar la tecla de configuración.

¿Alguna idea sobre cómo activar el menú desplegable de resultados cuando el usuario hace clic en el campo de entrada? Intenté activar el evento de enfoque para el campo de entrada, pero eso no funciona. De alguna manera necesito llamar manualmente al evento desplegable de autocompletar cuando el campo de entrada está enfocado. Gracias.

Respuesta

24

demostración de trabajohttp://jsfiddle.net/CNYCS/

fresca; entonces todo lo que tiene que hacer es bind evento de enfoque con autocompletar, el resto `autocompletar tomará el relevo como se puede ver en la demostración.

Enlace útil: http://forum.jquery.com/topic/how-to-bind-focus-input-to-trigger-autocomplete&http://docs.jquery.com/UI/Autocomplete#method-search

Espero que esto ayude,

código de descanso es en jsFiddle.

código

$("#tags").autocomplete({ 
     source: availableTags, 
     minLength:0 
    }).bind('focus', function(){ $(this).autocomplete("search"); }); 
+1

Gracias esto funciona maravillosamente – leejmurphy

+1

Awesome! encontré esto de google, exactamente lo que necesito :) – Tallboy

+1

¡Dulce! ¡Exactamente lo que necesito! ¡Funciona de maravilla! –

2

No hay una manera obvia de hacerlo de acuerdo con el documento. Pero se puede tratar con focus (o click o keyup) en el caso autocomplete habilitado textbox:

$('#autocomplete').trigger("keyup"); 

o

$('#autocomplete').trigger("focus"); 

o

$('#autocomplete').trigger("click"); 

Como @Tats_innit mencionado el código Después de eso, solo debes agregar la línea

$('#tags').trigger("focus"); // as @Tats_innit's solution bind focus 
          // so you need to trigger focus 

DEMO

+0

++ 1 de nuevo el hombre ':)' contento en estos días no estoy Jinx-ing solución con la suya: P demostración diff por debajo de todos modos OP +! –

+0

Gracias, un combo de los dos funcionó para mí. – leejmurphy

Cuestiones relacionadas