как добавить событие, когда результаты автозаполнения jquery завершены?

81
10

Таким образом, я использую JQuery UI Autocomplete plugin

 $("#home_search_top").autocomplete({
source: "/theme/site_theme/search.php",
minLength: 2,
parse: function() {
console.log("hello");
return false;
},
select: function(event, ui) {
$('#state_id').val(ui.item.id);
$('#abbrev').val(ui.item.abbrev);
}
});

$("#home_search_top").autocomplete({
source: "/theme/site_theme/search.php",
minLength: 2,
loadingClass : "res-search"
});

как показать или скрыть someDiv, когда синтаксический анализ завершен?

спросил(а) 2012-10-29T21:55:00+04:00 7 лет, 11 месяцев назад
1
Решение
70

Я думаю, что вы ищете response событие (предполагая, что вы используете jQueryUI 1.9). Из документации:

Запуск после завершения поиска, прежде чем отобразится меню. Полезно для локальных манипуляций с данными предложения, где необязательный обратный вызов опции источника не требуется. Это событие всегда запускается, когда поиск завершается, даже если меню не будет отображаться, потому что результатов нет или автозаполнение отключено.

Вы должны нажать на это событие и скрыть #someDiv:

 $("#home_search_top").autocomplete({
source: "/theme/site_theme/search.php",
minLength: 2,
select: function(event, ui) {
$('#state_id').val(ui.item.id);
$('#abbrev').val(ui.item.abbrev);
},
response: function () {
$("#someDiv").hide();
}
});

ответил(а) 2012-10-30T04:04:00+04:00 7 лет, 11 месяцев назад
41

select: function(event, ui) {
$('#state_id').val(ui.item.id);
$('#abbrev').val(ui.item.abbrev);

// hide div:
$("#MyDiv").hide();
}

ответил(а) 2012-10-29T23:01:00+04:00 7 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема