Twitter Typeahead, установленный в цикле, использует URL первого поля - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть функция инициализации typeahead, которая получает все мои поля typeahead и должна устанавливать их удаленные URL-адреса на основе значения data-url.Однако по какой-то причине он устанавливает все поля в URL первого поля.Если я использую консоль для ручного уничтожения всех типов заголовков, а затем нацеливаюсь на второе поле по отдельности, она все равно использует URL первого поля.

Использование Typeahead 0.9.3

function setTypeaheadFields() {
    $.each($("[data-autocomplete]"), function() {
        let input = $(this);
        input.typeahead("destroy");
        let resultField = input.data('inputfield');
        let sourceUrl = input.data('url');
        let minLength = input.data('minLength') || 3;
        console.log(sourceUrl);
        input.typeahead({
            valueKey: 'text',
            name: 'text',
            minLength: minLength,
            remote: {
                url: sourceUrl + '/%QUERY',
                filter: function(parsedResponse) {
                    return parsedResponse;
                },
            template: [
                "<p class='label'><strong>{{text}}</strong></p>"
            ].join(''),
                engine: Hogan
            }
        }).on('typeahead:selected typeahead:autocompleted', function(e, datum) {
            $(resultField).val(datum.id);
        }).on('typeahead:closed', function() {
            $(resultField).val('');
        });
    });
}

1 Ответ

0 голосов
/ 26 сентября 2019

Это было поле «имя» в настройках.Я не знал, что установить имя объекта typeahead.Все, что мне нужно было сделать, это установить имя программным путем и все на свете.

...