将jQuery EasyAutocomplete应用于多个字段(相同ID)

时间:2018-10-13 16:31:01

标签: javascript jquery jquery-plugins easyautocomplete

我需要一个表单域,用户可以在其中输入一些数据,这些数据将自动完成并通过jquery EasyAutocomplete从外部.xml文件中提取:

<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");});

应用一个类(可惜,对于随后生成的字段也是如此)并选择它可以完成相同的工作。

无论用户在页面上拥有多少字段,当用户单击特定字段时,如何使我的自动完成功能适用于所有字段?

修改

我一直在尝试生成不同的ID,现在我已经找到了解决方法:

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>标签。尽管如此,它仍然有效。

0 个答案:

没有答案