jQuery autocomplete - Uncaught TypeError: undefined is not a function
jQuery autocomplete - Uncaught TypeError: undefined is not a function
我正在尝试在我的搜索文本框中添加 jquery 自动完成功能,但由于某些原因我无法使用它。看起来我已经加载了所有必需的 jquery 并且版本没有差异。
我已经尝试了所有(至少我找到的那个)建议的解决方案,但没有一个有效。
我的 html:
<input type="search" name="searchTerm"
data-test-autocomplete="@Url.Action("AutoComplete")" />
我的 js:
$(function() {
var createAutoComplete = function() {
var $input = $(this);
var options = {
source: $input.attr("data-test-autocomplete")
};
$input.autocomplete(options);
};
$("input[data-test-autocomplete]").each(createAutoComplete);
});
bundle 在正文末尾的 _Layout.cshtml 中被调用:
bundles.Add(new ScriptBundle("~/bundles/test").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/test.js"));
正在加载的脚本:
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/test.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
提前致谢。
未定义的显然是.autocomplete
jQuery函数。请查看您问题的 "Scripts being loaded" 部分 jQuery UI 完全缺失。
你正确地将它包含在你的包中,如 "~/Scripts/jquery-ui-{version}.js"
所以失败的唯一可能解释是 jQuery UI 脚本文件从该路由中丢失(或者您在布局中渲染 worng 包或查看 Razor 代码)。
我正在尝试在我的搜索文本框中添加 jquery 自动完成功能,但由于某些原因我无法使用它。看起来我已经加载了所有必需的 jquery 并且版本没有差异。 我已经尝试了所有(至少我找到的那个)建议的解决方案,但没有一个有效。
我的 html:
<input type="search" name="searchTerm"
data-test-autocomplete="@Url.Action("AutoComplete")" />
我的 js:
$(function() {
var createAutoComplete = function() {
var $input = $(this);
var options = {
source: $input.attr("data-test-autocomplete")
};
$input.autocomplete(options);
};
$("input[data-test-autocomplete]").each(createAutoComplete);
});
bundle 在正文末尾的 _Layout.cshtml 中被调用:
bundles.Add(new ScriptBundle("~/bundles/test").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/test.js"));
正在加载的脚本:
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/test.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
提前致谢。
未定义的显然是.autocomplete
jQuery函数。请查看您问题的 "Scripts being loaded" 部分 jQuery UI 完全缺失。
你正确地将它包含在你的包中,如 "~/Scripts/jquery-ui-{version}.js"
所以失败的唯一可能解释是 jQuery UI 脚本文件从该路由中丢失(或者您在布局中渲染 worng 包或查看 Razor 代码)。