Javascript 自动完成选择项中的未捕获错误

Javascript 自动完成选择项中的未捕获错误,javascript,html,ajax,asp.net-mvc,autocomplete,Javascript,Html,Ajax,Asp.net Mvc,Autocomplete,我正在从javascript autocomplete获取自动完成项目列表,但当我当时选择该自动完成项目列表时,它会显示错误,即未捕获类型错误:n.item未定义 这是我的密码 <div class="form-group"> <div class="col-md-3"> <nop-label asp-for="Name" /> </div> <

我正在从javascript autocomplete获取自动完成项目列表,但当我当时选择该自动完成项目列表时,它会显示错误,即未捕获类型错误:n.item未定义

这是我的密码

<div class="form-group">
    <div class="col-md-3">
        <nop-label asp-for="Name" />
    </div>
    <div class="col-md-9">                    
        @Html.TextBoxFor(model => Model.Name, new { @class = "form-control" })
        @Html.HiddenFor(model => Model.Name)
    </div>
</div>


$(document).ready(function () {
    $("#Name").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: '@Url.Action("AutoComplete", "Product")',
                datatype: "json",
                data: {
                    term: request.term
                },
                success: function (data) {
                    response($.map(data, function (val) {
                        return {
                            label: val.Name,
                            value: val.Name
                        }
                    }))
                }
            })
        },
        select: function (ui) {
            $("#Name").val(ui.item.Name);
        }
    });
});

您的选择签名不正确:

select: function (ui) {
        $("#Name").val(ui.item.Name);
    }
将其更改为:

select: function (event, ui) {
         $("#Name").val(ui.item.Name);
     }

这应该很好。

你的自动完成插件是什么?如果您从服务器端获得的结果正常,那么问题就在客户端,了解正确的插件将有助于解决问题
select: function (event, ui) {
         $("#Name").val(ui.item.Name);
     }