我在jQuery UI中有一个带autocomplete
函数的页面,但是我收到以下错误:
JavaScript运行时错误:对象不支持属性或方法 '自动完成'
我拉着我的头发,因为一切似乎都没问题,但我仍然得到这个错误,这是代码:
<link href="~/Content/jquery-ui/jquery-ui.css" rel="stylesheet" />
<link href="~/Content/jquery-ui/jquery-ui.theme.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery-ui.min.js"></script>
<input type="text" id="tags">
<script type="text/javascript">
$(document).ready(function () {
$("#tags").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/AutoCompleteSearch",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.ProductName, value: item.ProductName};
}));
}
});
},
messages: {
noResults: "", results: ""
}
});
})
</script>
在删除$(document).ready
部分之前没有任何效果,我想知道这与任何事情有什么关系?为什么当我删除$(document).ready
突然自动完成功能时被识别?
答案 0 :(得分:0)
首先,您没有使用$(document).ready(function(){})
(分号)关闭;
。
现在即将到来,$(document).ready();
用于触发事件,例如:.click(), .blur(), .change()
等。$(document).ready()
表示您不能在页面(文档)完全触发之前触发事件准备。
但是你宣布autocomplete()
的方式,这里没有触发任何事件。这就是没有$(document).ready()
的原因。