Я пытался выполнить требование, в котором есть текстовое поле, в котором мне нужно выполнить функцию автозаполнения.У меня есть модель, которая имеет два свойства, имя и значение.Итак, я список CityNames и их идентификаторов.Таким образом, при вводе имени система должна получить Id.Я пытался много, но я не нашел никакого решения.Может ли кто-нибудь помочь мне, пожалуйста !!
Вот мой контроллер
[HttpPost]
public JsonResult FillViewData(string term)
{
List<City> list = new List<City>()
{
new City{ Name = "Vijay", Id = 1 },
new City{ Name = "Ratan", Id = 2 },
new City{ Name = "Payo", Id = 3 },
new City{ Name = "Hari", Id = 4 },
new City{ Name = "Krish", Id = 5 }
};
var CityName = (from N in list
where N.Name.StartsWith(term)
select new { N.Name });
return Json(CityName, JsonRequestBehavior.AllowGet);
}
Просмотр:
@Html.TextBox("searchName", null,new { name = "txtSearch"})
JS:
<script type="text/javascript">
$("#txtSearch").autocomplete({
source: function (request, response) {
$.ajax({
url: 'Home/FillViewData',
type: "POST",
dataType: JSON,
data: { Prefix: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.Name, value: item.Name };
}))
}
})
}
});