Автозаполнение в jQuery с динамически добавленными элементами

Мое требование - показывать несколько вариантов, когда пользователь вводит несколько символов (минимум 3) в одно из полей ввода, которые также могут быть добавлены динамически.

Я не могу загрузить данные при загрузке страницы в начале, потому что данные огромны. Существует вызов ajax, чтобы получить эти отфильтрованные данные.

Вопрос, что я получаю,Expected identifier ошибка при загрузке страницы в строке № 2. Итак, не могли бы вы сказать, что не так с приведенным ниже кодом?

$(document).on('keydown.autocomplete', 'input.searchInput', function() {                
            source: function (request, response) { // Line # 2
            var id = this.element[0].id;

            var val = $("#"+id).val();             
            $.ajax({                     
                    type : 'Get',
                    url: 'getNames.html?name=' + val,
                    success: function(data) {
                        var id = $(this).attr('id');
                        $(this).removeClass('ui-autocomplete-loading'); 
                        response(data);
                    },error: function(data) {
                          $('#'+id).removeClass('ui-autocomplete-loading');  
                    }
                  });
              },
                minLength: 3
            });

Ответы на вопрос(3)

Ваш ответ на вопрос