Używam jquery autouzupełniania które ja podczas wypełniania z rubinem na zastosowaniu szyn i tworzę własny autcomplete tak:JQuery autouzupełnianie - Wybierz pierwszy element
$.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);
}
});
Mam przekierowanie użytkownika z innej strony strona z formularzem autouzupełniania z parametr w adresie URL, który jest kod używany do poszukiwania, oto JS zrobić wyszukiwania:
function ac_search(code) {
$("#r-code").val(code);
$("#r-code").code_complete('search', code);
}
ten wykonuje poszukiwanie doskonale i wyświetla listę rozwijaną z wynikami dół . Próbuję mieć skrypt, a następnie wybieram pierwszy wynik na liście. Próbowałem to robić za pomocą selektora:
$(".ui-menu-item:first a").click();
Znajduje prawidłowego elementu w liście autouzupełniania, ale gdy próbuję i zasymulować kliknięcie daje ten błąd:
TypeError: ui.item is null
Czy jest możliwe aby programowo kliknij pierwszy element na liście wyników autouzupełniania?
Cheers
Eef
Tak naprawdę nie potrzebują tego rozszerzenia, kiedy można po prostu ustawić opcję Autofocus jako prawdziwe. – Ziad