Я создал поле автозаполнения (адреса поиска), используя модуль поиска Semantic-UI.Само автозаполнение работает нормально, но я испытываю странное поведение при попытке настроить действия с помощью метода OnSelect.
$('#address_search')
.search({
apiSettings: {
url: 'ajax_search_address/{query}'
},
minCharacters: 4,
maxResults: 5,
showNoResults: true,
type: 'category',
searchDelay: 0,
duration: 200,
fields: {
categories: 'results',
categoryName: 'state',
categoryResults: 'results',
description:'city',
},
onSearchQuery: function(query){
$('#address_search').addClass("loading");
},
onResults: function (response){
$('#address_search').removeClass("loading");
},
onSelect: function(result, response) {
address = result.title + ', ' + result.city + ' ' + result.region;
$('#address_search').search('set value', address);
//$('#address_search').find('input').val(address);
$('#address_search').search('hide results');
$('#address_search').removeClass("loading");
return false;
},
});
Причина, по которой я использую собственный метод OnSelect, заключается в отображении результата адреса в определенномспособ (отличается от того, как он возвращается).Проблема, с которой я сталкиваюсь, заключается в том, что, когда я выбираю адрес из возвращаемого списка, кажется, что он правильно вызывает 'set value', но затем, похоже, генерирует новый вызов ajax с новым значением, следовательно, представляет новый выпадающий список с этим адресомснова (сам по себе).Как показано в приведенном выше вызове, я попытался вручную присвоить значение полю ввода с помощью jQuery (вместо вызова «set value»), но опять-таки поведение осталось прежним.
Я попытался использовать «запрос отмены»'метод сразу после того, как попытаться отменить этот последний ajax-вызов при выборе значения, но, похоже, он не имеет никакого эффекта (и я бы предпочел избежать ненужного вызова).
Кто-нибудь знает, как это предотвратить??Метод onSelect по умолчанию (когда установлено «return true», это поведение не показывает, поэтому я предполагаю, что есть способ предотвратить это, но я не смог найти его, основываясь на документации или других темах по этому вопросу.
Спасибо !!