Я озадачен этим, я часами пытался заставить автозаполнение jQuery перейти на другую страницу сайта при нажатии на элемент в списке предложений.
Кто-нибудь знает, как это сделать? Вот мой код:
$(':input[data-autocomplete]').autocomplete({
source: $(':input[data-autocomplete]').attr("data-autocomplete"),
delay: 0,
select: function (event, item) {
//window.location.replace("http://www.example.com/Profile/Details/1");// Works but totally unacceptable, browser history lost etc..
//alert("Item Clicked"); //Fires Ok
}
}).data("autocomplete")._renderItem = function (ul, item) {
var MyHtml = '<a id="ItemUrl" href="/Profile/Details/' + item.PartyId + '"' + ">" +
"<div class='ac' >" +
"<div class='ac_img_wrap' >" +
'<img src="../../uploads/' + item.imageUrl + '.jpg"' + 'width="40" height="40" />' +
"</div>" +
"<div class='ac_mid' >" +
"<div class='ac_name' >" + item.value + "</div>" +
"<div class='ac_info' >" + item.info + " PartyId :" + item.PartyId + "</div>" +
"</div>" +
"</div>" +
"</a>";
return $("<li></li>").data("item.autocomplete", item).append(MyHtml).appendTo(ul);
};
Как вы можете видеть, я использовал пользовательский HTML в событии _renderItem
, мой пользовательский HTML создает тег привязки с идентификатором, переданным из источника, это выглядит нормально, ссылка сформирована правильно в левом нижнем углу браузера (Я использую Chrome)
<a href='/Profile/Details/id' >some other divs & stuff</a>
Проблема в том, что когда я нажимаю на ссылку, ничего не происходит, я пытался использовать событие select, но элемент имеет значение null, поэтому не могу получить item.PartyId
, чтобы вызвать ручной переход.
Как мне заставить работать событие клика?