Asp.net mvc Jquery自动完成不显示结果$“地图未定义”;
我试图设置一个jquery自动完成功能,但当我输入文本时,不会出现任何建议 该项目是MVC.NET VS2013 使用Chrome中的调试器,我可以看到正在生成正确的建议,但不会显示在页面上。在firefox中使用firebug也有同样的结果 另外,我得到一个“$map未定义”错误。这似乎意味着并没有加载jquery ui,但我不知所措,因为我尝试将它加载到作为jquery捆绑包一部分的_布局中,作为它自己的捆绑包,以及直接在视图上引用,但并没有任何效果(jquery ui总是在jquery.js之后引用) 在MVC项目中是否有一种引用jquery ui的特定方式 Jquery:Asp.net mvc Jquery自动完成不显示结果$“地图未定义”;,asp.net-mvc,jquery-ui,visual-studio-2013,jquery-autocomplete,Asp.net Mvc,Jquery Ui,Visual Studio 2013,Jquery Autocomplete,我试图设置一个jquery自动完成功能,但当我输入文本时,不会出现任何建议 该项目是MVC.NET VS2013 使用Chrome中的调试器,我可以看到正在生成正确的建议,但不会显示在页面上。在firefox中使用firebug也有同样的结果 另外,我得到一个“$map未定义”错误。这似乎意味着并没有加载jquery ui,但我不知所措,因为我尝试将它加载到作为jquery捆绑包一部分的_布局中,作为它自己的捆绑包,以及直接在视图上引用,但并没有任何效果(jquery ui总是在jquery.j
<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>
}
@Html.TextBox(“餐厅”)
@节脚本{
$(文档).ready(函数(){
$(“#餐厅”)。自动完成({
来源:功能(请求、响应){
$.ajax({
url:“/Map/Search”,
类型:“POST”,
数据类型:“json”,
数据:{term:request.term},
成功:功能(数据){
响应($map)(数据、功能(项目){
返回{
标签:item.value,
值:item.label
};
}
))
}
})
},
信息:{
否结果:“”,结果:“”
}
});
})
}
更改这部分代码
response($map(data, function (item) {
到
或者,您可以重构成功回调函数以:
success: function (data) {
var items = $.map(data, function (item){
return {
label: item.value,
value: item.label
};
});
response(items);
}
不应该是“$.map”吗?
success: function (data) {
var items = $.map(data, function (item){
return {
label: item.value,
value: item.label
};
});
response(items);
}