Forza jQuery UI completamento automatico a muoversi?
-
30-09-2019 - |
Domanda
Sto usando completamento automatico da jQuery UI sul mio sito web, e sta lavorando bene, ma sto ridisegnare il sistema, quindi ho bisogno di fare questo cambiamento. Attualmente, il completamento automatico si apre sul fondo dell'ingresso. Tuttavia, non posso costringerlo a una posizione su misura, né con jQuery o CSS.
Ho provato questo:
$('#search').autocomplete('widget').css({
'margin-left': -200
//or
left: 200
});
Ho anche provato ad aggiungere! Importante lLa regole, ma senza effetto.
Ho anche cercato di aggiungere CSS per .ui-completamento automatico, senza alcun risultato.
Sembra che quando apre la scatola, sovrascrive tutti questi cambiamenti. Qualche idea su questo? Sono davvero bisogno di una soluzione.
Grazie, Martti Laine
Soluzione
È possibile fornire una funzione opzionale per open () per fare questo:
Esempio:
$("#search").autocomplete({
open: function(event, ui)
{$(this).next().css('left',
function(index, value) {return 200+parseInt(value)});
}
});
... imposterà il grado di 200px sinistra della posizione che sarebbe stato normalmente
Altri suggerimenti
Il mio completamento automatico si apre alla fine del DOM. Non è vicino a tutti per l'ingresso trigger ... Sto pensando di guardare l'indice di innescare in ingresso, e poi trovare indice corrispondente del completamento automatico, ma non so perché- suo sembra non abbastanza robusto per me.
Come NeoSwf, ho trovato che il mio completamento automatico era stato inserito nella parte inferiore del DOM. A seconda $(this).next()
per trovarlo è fragile. Invece di this
, mi consiglia di utilizzare qualcosa di più specifico come 'ul.ui-autocomplete'
. Ecco il CoffeeScript per la mia versione:
jQuery ->
$('#search').autocomplete
open: (event, ui) ->
$('ul.ui-autocomplete').css('left', (index, value) ->
return 200 + parseInt(value))