person!
I really need help, I’m trying to do an Autocomplete with multiple inputs in ASP.NET Core, but at the moment I’m only able to return one value. When I enter the person’s name I can bind the city, I would like to bind email, department
[HttpPost]
public JsonResult AutoCompletePeoples(string prefix)
{
var pessoas = (from pessoa in _context.Pessoas
where pessoa.NamePeople.StartsWith(prefix)
select new
{
label = pessoa.NamePeople,
val = pessoa.City
}).ToList();
return Json(pessoas);
}
<script type="text/javascript">
$(function () {
$("#txtNomeVisitante").autocomplete({
source: function (request, response) {
$.ajax({
url: '/Visitas/AutoCompletePeoples/',
data: { "prefix": request.term },
type: "POST",
success: function (data) {
response($.map(data, function (item) {
return item;
}))
},
error: function (response) {
alert(response.responseText);
},
failure: function (response) {
alert(response.responseText);
}
});
},
select: function (e, i) {
$("#txtCity").val(i.item.val);
},
minLength: 1
});
});
</script>
2
Answers
Brando Zhang,Thanks a lot for the help !!! But the problem continues, I can only return the "Celular" field that is in val] I would like it to return the other values
[HttpPost] public JsonResult AutoCompletePeoples(string prefix) {
}
According to your description, if you want to bind other property, you should also add the value when selecting from the backend and bind it inside the autocomplete select function.
More details, you could refer to below test codes:
View:
Jquery:
Backend:
Result: