经过数小时的故障排除后,看来jqueryui自动完成功能在我正在部署我的应用程序的服务器上无效,但它正在我的本地计算机上运行。
我测试了Ajax调用,但它们运行正常。我能够获得内容等......
我可以使用ui控件中的日期选择器,但不能自动完成。
可以肯定的是,我使用了问题底部的代码。此代码适用于我的本地但不适用于服务器。我假设自动填充功能未正确加载。
如果您熟悉此问题,请帮助并告诉我什么是一个好的选择。
我正在测试的实际页面是http://StagKingAdmin.com
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("input#searchterm").autocomplete({
source: availableTags
});
答案 0 :(得分:1)
听起来服务器上的页面加载时间比本地时间长,所以在调用.autocomplete()
时,DOM可能没有完全加载。
您的自动填充调用是否包含在$(document).ready()
函数中?如果没有,那应该是。
$(document).ready(function() {
$("input#searchterm").autocomplete({
source: availableTags
});
});
这将确保在调用input#searchterm
时.autocomplete()
元素可用。
答案 1 :(得分:0)
根据我在给定网址中看到的内容,您的问题与此qustion,
相关在自动完成设置之前添加以下脚本
jQuery.fn.extend({
propAttr: $.fn.prop || $.fn.attr
});
还要在相对网址之前添加/
,
var autoCompleteUrl_Events = '/Events/Find/';
希望这会有所帮助。
答案 2 :(得分:0)
有同样的问题,在本地工作而不在远程服务器上工作。
当我停止在页面底部包含自动完成脚本并将其与jquery一起包含在<head>
内时,它就开始工作了。