Jquery自动完成动态创建的输入

问题描述 投票:0回答:1

我还在学习javascriptJquery。我用jQuery创建简单的autocomplete

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>	
	  
<script>
  $(function() {
    $( "#nazov" ).autocomplete({
		minLength: 2,
		source: 'private/search.php',
	
	select: function(event, ui) {
    document.getElementById("pocet").value = ui.item.pocet;

  }	
    });
	
	
  });
  <label for="nazov">Názov: </label>
  <input id="nazov">
  <input id="pocet">

我有一些基本的JS函数来创建输入。每个新输入都有id="nazov"但是自动完成仅适用于非动态输入,并且每个动态创建的新输入都不起作用。

我认为这是因为自动完成功能不知道新的输入。是否可以通过任何方式更改自动填充以查找新输入并自动完成每个输入具有不同的回报?我发现了一些不赞成使用的功能.live().on(),但我想我不能在这里使用它,或者我不知道如何使用它。

谢谢你的帮助。

祝你今天愉快!

javascript jquery jquery-ui autocomplete jquery-ui-autocomplete
1个回答
0
投票

由于ID是唯一的,因此您不应分配ID两次。请改为使用类。所以你的代码看起来像这样:

JS:

$(function() {
    $(".nazov").autocomplete({
    minLength: 2,
    source: 'private/search.php',

    select: function(event, ui) {
        document.getElementByClass("pocet").value = ui.item.pocet;
    }
  });
});

HTML:

<label for="nazov">Názov: </label>
<input class="nazov">
<input class="pocet">

希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.