Jquery自动完成不是一个功能
Posted
技术标签:
【中文标题】Jquery自动完成不是一个功能【英文标题】:Jquery autocomplete not a function 【发布时间】:2016-02-25 23:38:49 【问题描述】:我知道有几个关于此错误的问题帖子,但我找不到任何适合我情况的答案。我在 ASP.NET MVC 中,我正在从我的合作伙伴那里复制一个自动完成功能。它可以在他的计算机上运行,但是当我尝试将其用于不同的视图时,控制台中出现错误:
Uncaught TypeError: $(...).autocomplete is not a function
这是文本框和脚本:
<div id="SearchUser">
<label>
Search for user:
<input type="text" id="usersearch" />
<input type="button" onclick="addUser()" value="Add" />
</label>
</div>
--------------------
//Auto search for users
$(function ()
$('#usersearch').autocomplete(
source: function (request, response)
$.ajax(
url: '@Url.Action("GetUserNames")',
data: pre: request.term ,
dataType: "json",
type: "GET",
success: function (data)
response($.map(data, function (item)
return label: item.Text, value: item.Text ;
))
,
error: function (XMLHttpRequest, textStatus, errorThrown)
alert(errorThrown);
);
);
);
同样的代码在他的机器上工作,但不是我的。我检查了 BundleConfig,我确实有
"~/Scripts/jquery-ui.js",
包括在内,所以我不确定为什么会出现此错误。
【问题讨论】:
打开 chrome 开发者工具并检查 jquery-ui 脚本是否显示在源选项卡中。我的猜测是或者缺少 jquery 引用。 这是回家的相对路径。你确定它在那里存在吗?也许它应该相对于当前目录?.
而不是 ~
?
@Sushanth-- jquery-ui 是唯一一个没有出现的脚本,除了这个之外,是否有其他脚本都存在的原因?
@Reeggiie 检查文件层次结构。不看文件夹结构,光看路径很难说。
@Sushanth-- 你是对的,我检查了文件层次结构并且 jquery-ui.js 文件不存在。我下载并包含它,现在它可以工作了。我像你想的那样错过了文件。如果您将此作为答案,请选择它。
【参考方案1】:
确保您有jquery-ui
的脚本标签
<script src="jquery-ui.js"></script>
【讨论】:
【参考方案2】:我认为这里的问题是特定页面或项目上使用的层次结构中缺少文件。
检查这一点的最佳方法是使用 chrome 开发人员工具查看脚本是否出现在 Sources
选项卡中。
如果它没有出现,那么首先检查是否包含脚本。
【讨论】:
以上是关于Jquery自动完成不是一个功能的主要内容,如果未能解决你的问题,请参考以下文章