У меня проблемы с функцией автозаполнения, она попадает в контроллер и возвращает значения, но на странице ничего не отображается, я предоставил код ниже, любая помощь приветствуется.
HomeControllerMethod
[HttpPost]
public JsonResult GetAccounts(string id)
{
var accounts = NavRepository.GetAccountsBasedOnString(id);
return Json(accounts, JsonRequestBehavior.AllowGet);
}
About.cshtml
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css" type="text/css" media="all" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"> </script>
<script type="text/javascript">
$(function () {
$('#searchTerm').autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("GetAccounts", "Home")',
data: { id: request.term },
dataType: 'json',
type: 'POST',
minLength: 3,
success: function (event, ui) {
searchTerm.valueOf (ui.item.value);
}
});
}
});
});
</script>
@using (Html.BeginForm())
{
<form method="post" action="">
<input id="searchTerm" name="searchTerm" type="text" />
<input type="submit" value="Go" />
</form>
}
Редактировать: Ниже моя последняя функция
$(function () {
$('#searchTerm').autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("GetAccounts", "Home")',
data: { id: request.term },
dataType: 'json',
type: 'POST',
minLength: 3,
success: function (data) {
response(data); ;
}
});
}
});
});