Это мой C# Код:Как опубликовать значение из автозаполнения вместо текста?
public JsonResult FillUsers(string term)
{
var Retailers = from us in db.Users
join pi in db.UserPersonalInfoes on us.ID equals pi.UserID into t
from rt in t.DefaultIfEmpty()
where us.Status == true
select new
{
ID = us.ID,
Username = us.Username + ":(" + (rt == null ? String.Empty : rt.FirstName) + ")"
};
List<string> UsersList;
UsersList = Retailers.Where(x => x.Username.Contains(term)).Select(y => y.Username).Take(10).ToList();
return Json(UsersList, JsonRequestBehavior.AllowGet);
}
HTML код:
<div class="col-md-3">
@Html.TextBox("ddlUser", null, new { @id = "ddlUser", @class = "form-control" })
</div>
Javascript Код:
<script type="text/javascript">
$(function() {
$("#ddlUser").autocomplete({
source: '@Url.Action("FillUsers", "FirebaseNotification")',
select:function(event, ui)
{
var id = ui.item.ID;
var name = ui.item.Username;
}
});
});
Я хочу, чтобы показать 'имя пользователя' в текстовом поле, но когда форма будет пост Я хочу отправить 'ID'. Вместо этого я получаю имя пользователя.
Вы можете использовать скрытое поле для сохранения этого UserID – Kathir07
Почему бы не использовать комбинированный блок? https://jqueryui.com/autocomplete/#combobox. Потому что в отличие от