Применить jQuery EasyAutocomplete к нескольким полям (один и тот же идентификатор) - PullRequest
0 голосов
/ 13 октября 2018

Мне нужно поле формы, в которое пользователь вводит некоторые данные, которые автоматически заполняются и извлекаются из внешнего XML-файла через jquery EasyAutocomplete :

<input type="text" class="form-control" id="personInput" placeholder="search for a person"/>

.

Все работает хорошо, если у меня только одно поле.Тем не менее, когда пользователь добавляет новое поле того же типа (я использую jQuery Duplicate Plugin ), автозаполнение не работает для последующих полей, только для первого.

Я пытался с

$("#personInput").easyAutocomplete(options);
..[id="personInput"]
..document.querySelectorAll("#personInput")

даже

$("div *").filter(function() {return(this.id == "personInput");});

Применение класса (который, увы, остается таким же и для последующих сгенерированных полей) и выбор его делает то же самое.

Как мне настроить функцию автозаполнения для всех полей, когда пользователь нажимает на это поле, независимо от количества полей на странице?

Редактировать

Я поиграл с созданием различных идентификаторов, и на данный момент я нашел этот обходной путь:

JS:

  $.duplicate = function(){
  var next = $('#personInput').length;
  [...]
  var newElement = *html stuff... with* id="personInput' + next + '" and including a new <script> targeting "personInput' + next.
  [...]
  next = next + 1;

Основная проблема, с которой я нахожуэто то, что он избыточен, так как генерируется столько же тегов <script> с тем же кодом.Тем не менее, это работает.

...