2011-01-18 13 views

Respuesta

9

Parece como si yo he sido capaz de responder a mi propia pregunta ya. Estoy abierto a una mejor solución si alguien lo tiene. He añadido esto a la puesta en marcha de autocompletar .. esencialmente se vuelve a colocar la caja en abierto a un nuevo desplazamiento.

open: function(event, ui) { 
    var autocomplete = $(".ui-autocomplete"); 
    var oldTop = autocomplete.offset().top; 
    var newTop = oldTop - autocomplete.height() - $("#quick_add").height() - 10; 

    autocomplete.css("top", newTop); 
} 
+0

Usted don 't necesidad de usar '' event' y argumentos ui' si no se utiliza en la función. Además, no funciona si cambia el tamaño de su ventana. Puede usar las herramientas de desarrollo F12 para probarlo. ¿Cuál es –

16

Puede usar la jQuery UI Position utility. Este es un ejemplo:

$(".ui-autocomplete").position({ 
    my: "left bottom", 
    at: "left top", 
    of: $("#quick_add"), 
    collision: "flip flip" 
}); 
+3

'$ ("# quick_add")' en este ejemplo? ¿Es el cuadro de autocompletar o algo más? – Yuck

4

versión actual de jQuery UI permite dar la Autocomplete widget de un objeto de posición con las opciones, con las mismas propiedades que el widget posición mencionada anteriormente. para que pueda usar eso para colocar la lista de sugerencias como desee.

+0

Estoy de acuerdo .. mejor para dar como opción –

24

Poner respuesta de @ mvonlintel de otra forma, ajuste la posición del menú sugerencias en la declaración de widgets:

$('selector').autocomplete(
{ 
    position: { my: "left bottom", at: "left top", collision: "flip" }, 
    . 
    . 
}); 
+0

me gusta esta manera =) – Bryuk

+0

Esto no funciona para mí. – Yuck

+0

esto funciona para mí :) –

Cuestiones relacionadas