私は次のJSを持っています:
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/GetCompanyNames",
dataType: "json",
data: "searchterm=" + request.term,
success: function (data) {
response($.map(data, function (item) {
return {
label: item.Name,
value: item.Name,
LogoUrl: item.LogoUrl,
InternetName :item.InternetName,
Name: item.Name
};
}));
}
});
},
minLength: 1
}).data("autocomplete")._renderItem = function (ul, item) {
var innerHtml = '<a href=/Store/'+item.InternetName+'><div class="list_item_container" style="height: 60px;"><div class="image" style="float: left; margin-right: 35px;"><img src="' + item.LogoUrl + '"></div><div class="label">' + item.Name + '</div></div></a>';
return $("<li></li>")
.data("item.autocomplete", item)
.append(innerHtml)
.appendTo(ul);
};
});
これをレンダリングする
ib
これは、この場合のようにテキストボックスに任意の文字を入力したときに表示される提案ドロップダウンです。
すべて正常に動作していますが、ドロップダウンの任意の項目をマウスでクリックすると、アンカーに書かれている URL に移動するという問題が 1 つだけあります。タグ、下にスクロールしていくつかのアイテムでEnterキーを押すと、ドロップダウンのアイテムでEnterキーを押しても現在何もしていないのと同じように動作するようにしたいです。