我在输入字段上实现了自动完成功能,但是框没有显示,而firebug返回“this.source不是函数”。我在同一页面的其他字段上使用了自动完成功能,没有任何问题。 (两个textarea's)。
我正在使用以下代码进行调试,如果我从脚本文件或Firebug命令行运行,效果相同。
var fakedata = ['test1','test2','test3','test4','ietsanders'];
$("#omschrijving").autocomplete(fakedata);
运行jquery 1.4.2和jquery ui 1.8.2,两个缩小版本。
有没有人知道自动填充功能如何在textareas上正常工作但导致输入出现故障?
错误&堆栈跟踪:
this.source is not a function
http://facturatie.autodealers.nl/dev/resources/js/jquery-ui-1.8.2.custom.min.js
Line 570
close(Object { name="a"})jquery....min.js (regel 570)
close(Object { name="a"}, Object { name="c"})jquery....min.js (regel 570)
response()
答案 0 :(得分:59)
答案是自动完成的第一个参数应该是包含“source”属性的对象。这工作
var fakedata = ['test1','test2','test3','test4','ietsanders'];
$("#omschrijving").autocomplete({source:fakedata});
答案 1 :(得分:11)
如果您尝试使用http://www.devbridge.com/projects/autocomplete/jquery/#demo中的自动填充功能,它现在会与jQuery UI中的自动填充方法发生冲突。我有同样的问题,后来注意到我可以使用jQuery UI实现。
(注意:此页面的文档似乎错误:http://docs.jquery.com/Plugins/Autocomplete#Setup)
答案 2 :(得分:5)
Shelton表示,devbridge.com(1.1.3)的版本与jQuery UI(1.8.4)相冲突。通过确保在jQuery UI的版本之后加载devbridge版本来实现它。
答案 3 :(得分:3)
如果将它与jQuery UI库一起使用,它还将具有名为autocomplete
的插件。在这种情况下,您可以使用插件别名devbridgeAutocomplete
:
$('.autocomplete').devbridgeAutocomplete({ ... });
这解决了jQuery UI冲突的问题
答案 4 :(得分:1)
有关于tagedit / autocomplete的类似问题。您似乎也想要禁用自动完成功能。将源设置为false可避免这些错误。
解决方案:
options.autocompleteOptions.source = false;
答案 5 :(得分:0)
在 jquery.autocomplete.js 结尾的以下部分中进行搜索:
创建可链接的jQuery插件:
$.fn.devbridgeAutocomplete = function (options, args) {....
此devbridgeAutocomplete是使用以下行访问相同功能的替代插件:
if (!$.fn.autocomplete) {
$.fn.autocomplete = $.fn.devbridgeAutocomplete;
}
所以..您可以通过更改此devbridgeAutocomplete
$.fn.devbridgeAutocomplete
代替自动完成或任何名称
答案 6 :(得分:0)
在我的情况下,我第二次导入了jquery,但我没有意识到。 像这样:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.devbridge-autocomplete/1.2.27/jquery.autocomplete.min.js"></script>
// More code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
因此,请确保在初始化jquery之后导入自动完成脚本。