Проблема поиска модуля Semantic-UI OnSelect - PullRequest
0 голосов
/ 25 февраля 2019

Я создал поле автозаполнения (адреса поиска), используя модуль поиска 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», это поведение не показывает, поэтому я предполагаю, что есть способ предотвратить это, но я не смог найти его, основываясь на документации или других темах по этому вопросу.

Спасибо !!

1 Ответ

0 голосов
/ 26 февраля 2019

Метод onSelect по умолчанию (при значении «return true» это поведение не отображается

Просто установка return false в return true не позволяет ему сделать еще один вызов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...