当我运行此页面时,我在firebug中看到错误
<script type="text/javascript">
$(document).ready(function () {
var url = '/Tag/TagName';
$('#Name').autocomplete(url, {
minChars: 1,
multiple: true,
formatResult: function (row) {
return row[0].replace(/(<.+?>)/gi, '');
}
}).result(function (event, data, formatted) {
alert(!data ? "No match!" : "Selected: " + formatted);
});
})
</script>
错误是:
$("#Name").autocomplete is not a function
我也在这份文件中
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src=@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>
和
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name)
</div>
此错误的来源是什么?
祝你好运
修改
非,是
<script src=@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>
但我还有另一个错误:
$("#Name").autocomplete(url, {minChars: 1, multiple: true, formatResult: function (row) {return row[0].replace(/(<.+?>)/gi, "");}}).result is not a function
如果这有帮助:
我在_Layout.cshtml上的每个脚本库绑定
_Layout.cshtml
答案 0 :(得分:5)
直接原因是你没有加载jQuery自动完成插件(错误信息很清楚)。
根本原因是你错过了src=
之后的开场报价:
<script src=@Url.Content("~/Scripts/jquery-ui-1.8.11.js")"
答案 1 :(得分:2)
您似乎没有包含jQuery Autocomplete插件。
http://docs.jquery.com/Plugins/autocomplete
编辑:jQuery UI附带了一个自动完成功能,这是你在这里使用的。此函数与jQuery Autocomplete插件不同。它的工作方式不同。您在这里使用的代码是引用该插件,但您调用的自动完成功能是jQuery UI附带的功能。您应该看看jQuery UI自动完成,如果这不是您需要的,您可以包含jQuery自动完成插件脚本,并使用它来保留现有代码。请务必在jQuery UI之后添加插件脚本文件,以免被覆盖或下载新版本的jQuery UI并删除自动完成功能。
jQuery UI自动填充 http://jqueryui.com/demos/autocomplete/
jQuery自动填充插件 http://docs.jquery.com/Plugins/autocomplete
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script>
正在运行的jQuery UI插件示例
$( "#Name" ).autocomplete({
source: url,
minLength: 1,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
答案 2 :(得分:-1)
您是否链接了库?:
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script>