繁体   English   中英

jQuery自动完成功能不起作用…

[英]jQuery autocomplete doesn't work…

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

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

PHP代码

echo "<id='a' value='Smith' autocomplete='off'>";
echo "<script type=\"text/javascript\">$('a').autocomplete('do_name_lookup.php',{minChars:3,max:999});</script>";
echo "<script type=\"text/javascript\">$('a').result(function(event, data, formatted) {alert(data[0])});</script>";

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

谁能向我解释为什么会这样以及如何解决? 我的怀疑是我多次声明了一个具有相同名称的变量,这造成了某种类型的冲突。

<id='a' value='Smith' autocomplete='off'>

这不是有效的元素,它缺少标签名称。 要修改“ input ”吗?

$('a')…

这将选择页面中的所有锚元素(链接)。 我猜你想要id选择器$('#a')

另外,您应该真正将两个脚本元素组合为一个。 不仅是因为某些浏览器有限制。 <script>可能包含多个JavaScript语句,您可能只想链接同一选定元素的两个方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM