Asp.net mvc 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

我试图设置一个jquery自动完成功能,但当我输入文本时,不会出现任何建议

该项目是MVC.NET VS2013

使用Chrome中的调试器,我可以看到正在生成正确的建议,但不会显示在页面上。在firefox中使用firebug也有同样的结果

另外,我得到一个“$map未定义”错误。这似乎意味着并没有加载jquery ui,但我不知所措,因为我尝试将它加载到作为jquery捆绑包一部分的_布局中,作为它自己的捆绑包,以及直接在视图上引用,但并没有任何效果(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>
}

@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);
}