Javascript jQuery自动完成不';不行。。。

Javascript jQuery自动完成不';不行。。。,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我正在使用jQuery的自动完成功能,但遇到了一个小问题。我有一个div元素,其中包含一些文本和数量可变的具有自动完成功能的输入框。当用户单击div元素中的文本时,输入框将被删除。单击文本可在显示输入框和不显示输入框之间切换。每单击一个文本,就会调用一个php脚本,为div元素返回新的html文本 自动完成输入是使用类似于以下内容的php代码创建的: PHP代码 echo”“; echo“$('a').autocomplete('do_name_lookup.php',{minChars:3,m

我正在使用jQuery的自动完成功能,但遇到了一个小问题。我有一个
div
元素,其中包含一些文本和数量可变的具有自动完成功能的输入框。当用户单击
div
元素中的文本时,输入框将被删除。单击文本可在显示输入框和不显示输入框之间切换。每单击一个文本,就会调用一个php脚本,为
div
元素返回新的html文本

自动完成输入是使用类似于以下内容的php代码创建的:

PHP代码
echo”“;
echo“$('a').autocomplete('do_name_lookup.php',{minChars:3,max:999}”);
echo“$('a').result(函数(事件,数据,格式化){alert(数据[0])});”;

在静态网页上,两个
脚本
元素将出现在“
$(document).ready
”函数中。但是,由于我的页面是动态的,输入框是在
$(document.ready
启动后很长一段时间创建的。因此,我必须在创建每个输入框之后执行javascript代码。第一次执行上面的php代码时,此设置工作正常,但第二次执行代码时,自动完成功能消失

有人能向我解释为什么会发生这种情况以及如何解决它吗?我怀疑我多次使用相同的名称声明一个变量,这造成了某种类型的冲突

<id='a' value='Smith' autocomplete='off'>
这将选择页面中的所有锚元素(链接)。我猜您需要id选择器
$('a')


此外,您还应该将两个脚本元素合并为一个。这不仅仅是因为某些浏览器存在限制。一个
可能包含多个JavaScript语句,您可能只想使用同一个选定元素。

我进一步完善了我遇到的问题。当我从页面中动态删除元素(例如,包含自动完成输入项的表行)时,就会出现问题(自动完成停止工作)。您引用的php是如何调用的?一些ajax方法更新:问题与多个同名选择器/元素有关。我通过在选择器名称的末尾添加一个随机数来解决这个问题。这使得每一个选择器都是独一无二的,自动完成又一次让人高兴了。
<id='a' value='Smith' autocomplete='off'>
$('a')…