Sto usando jQuery completamento automatico che sto popolando da un rubino sulla applicazione Rails e sto creando un autcomplete personalizzato in questo modo:JQuery completamento automatico - Selezionare prima voce
$.widget("custom.code_complete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$ul = ul;
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
$("#r-code").code_complete({
source: "URL",
minLength: 2,
select: function(event, ui) {
$(".button-row").fadeIn();
get_details(ui.item.url);
}
});
sto reindirizzamento a un utente di un'altra pagina a la pagina con il modulo di completamento automatico con un parametro nell'URL, che è un codice utilizzato per la ricerca, ecco il JS per fare la ricerca:
function ac_search(code) {
$("#r-code").val(code);
$("#r-code").code_complete('search', code);
}
Questa esegue la ricerca perfettamente e visualizza l'elenco a discesa dei risultati verso il basso . Sto cercando di fare in modo che lo script selezioni il primo risultato nell'elenco. Ho provato a farlo tramite un selettore:
$(".ui-menu-item:first a").click();
Ciò trova l'elemento corretto nell'elenco di completamento automatico, ma quando cerco di simulare un clic su di esso dà questo errore:
TypeError: ui.item is null
E 'possibile a livello di codice fai clic sul primo elemento nell'elenco dei risultati del completamento automatico?
Acclamazioni
Eef
non si ha realmente bisogno di questa estensione quando si può semplicemente impostare l'opzione messa a fuoco automatica come vero. – Ziad