テキストボックス内のテキスト全体を置き換える代わりに、矢印で移動したり、choieでEnterキーを押したりしたときに、jqueryがテキストボックスにオートコンプリートの選択肢を追加する方法を知りたいですか?これまでの私のコードは次のとおりです。
サーバ側:
public ActionResult Autocomplete(string lang, string query)
{
try
{
var term = query.IndexOf(',') > 0 ? query.Substring(query.LastIndexOf(',') + 1).ToLower() : query.ToLower();
if (!String.IsNullOrWhiteSpace(term))
{
var data = context.Tags.Where(s => s.Name.StartsWith(term)).Select(x => x.Name).Take(5).ToArray();
return Json(data);
}
return Json(new string[] { });
}
catch
{
return Json(new string[] { });
}
}
クライアント側:
<script type="text/javascript">
var tagsautocomplete = '@("/" + Url.RequestContext.RouteData.Values["lang"])/pictures/autocomplete';
</script>
$("#submit_picture_tags").autocomplete({
source: function (request, response) {
$.ajax({
url: tagsautocomplete, type: "POST", dataType: "json",
data: { query: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item, value: item };
}))
}
})
},
minLength: 1,
});