如何解决自动完成选择项中出现未捕获的错误
我从javascript自动完成中获取自动完成项列表,但是当我选择该自动完成项列表时,它显示错误,即 Uncaught TypeError:n.item undefined
这是我的代码,
<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);
}
});
});
这是控制者
public JsonResult AutoComplete(string term = "")
{
var objCustomerlist = (from product in _productMasterRepository.Table
where product.Name.StartsWith(term)
select new
{
Name = product.Name,ID = product.Name
}).ToList();
return Json(objCustomerlist);
}
解决方法
您选择的签名不正确:
select: function (ui) {
$("#Name").val(ui.item.Name);
}
将其更改为:
select: function (event,ui) {
$("#Name").val(ui.item.Name);
}
那应该可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。