Jquery 自动完成不显示结果“$map 未定义”
Jquery Autocomplete not showing results "$map is not defined"
我正在尝试设置 jquery 自动完成功能,但是当我输入文本时没有出现建议。
项目是MVC .NET VS2013。
使用 Chrome 中的调试器我可以看到正在生成正确的建议,但没有显示在页面上。在 firefox 中使用 firebug 具有相同的结果。
此外,我收到“$map 未定义”错误。看起来这意味着 jquery-ui 没有被加载,但我很茫然,因为我尝试将它加载到作为 jquery 包的一部分包含的 _layout 中,因为它是自己的包,并且直接在视图上引用,但是 none 有任何影响(jquery-ui 总是在 jquery.js 之后引用)。
在 MVC 项目中是否应该引用 jquery-ui 的特定方式?
Jquery:
<p>
@Html.TextBox("Restaurant")
<input type="submit" id="Restaurant" value="Submit" />
</p>
@section scripts {
<section class="scripts">
<script type="text/javascript">
$(document).ready(function () {
$("#Restaurant").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Map/Search",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($map(data, function (item) {
return {
label: item.value,
value: item.label
};
}
))
}
})
},
messages: {
noResults: "", results: ""
}
});
})
</script>
</section>
}
更改这部分代码
response($map(data, function (item) {
到
response($.map(data, function (item) {
或者您可以将成功回调函数重构为:
success: function (data) {
var items = $.map(data, function (item){
return {
label: item.value,
value: item.label
};
});
response(items);
}
我正在尝试设置 jquery 自动完成功能,但是当我输入文本时没有出现建议。
项目是MVC .NET VS2013。
使用 Chrome 中的调试器我可以看到正在生成正确的建议,但没有显示在页面上。在 firefox 中使用 firebug 具有相同的结果。
此外,我收到“$map 未定义”错误。看起来这意味着 jquery-ui 没有被加载,但我很茫然,因为我尝试将它加载到作为 jquery 包的一部分包含的 _layout 中,因为它是自己的包,并且直接在视图上引用,但是 none 有任何影响(jquery-ui 总是在 jquery.js 之后引用)。
在 MVC 项目中是否应该引用 jquery-ui 的特定方式?
Jquery:
<p>
@Html.TextBox("Restaurant")
<input type="submit" id="Restaurant" value="Submit" />
</p>
@section scripts {
<section class="scripts">
<script type="text/javascript">
$(document).ready(function () {
$("#Restaurant").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Map/Search",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($map(data, function (item) {
return {
label: item.value,
value: item.label
};
}
))
}
})
},
messages: {
noResults: "", results: ""
}
});
})
</script>
</section>
}
更改这部分代码
response($map(data, function (item) {
到
response($.map(data, function (item) {
或者您可以将成功回调函数重构为:
success: function (data) {
var items = $.map(data, function (item){
return {
label: item.value,
value: item.label
};
});
response(items);
}