Tôi đã gặp vấn đề này, tôi đã cố gắng tự động hoàn thành jQuery để truy cập trang khác trên trang web khi một mục được nhấp vào danh sách đề xuất.Cách chuyển hướng đến một trang khác với mục jQuery Autocomplete, hãy nhấp vào
Bất kỳ ai biết cách thực hiện việc này? Đây là mã của tôi:
$(':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);
};
Như bạn có thể thấy tôi đã sử dụng HTML tùy chỉnh trong trường hợp _renderItem
, HTML tùy chỉnh của tôi tạo ra một thẻ neo với id thông qua vào từ nguồn, điều này có vẻ ok, liên kết được hình thành một cách chính xác ở góc dưới bên trái trình duyệt (tôi đang sử dụng Chrome)
<a href='/Profile/Details/id' >some other divs & stuff</a>
vấn đề là khi tôi nhấp vào liên kết có gì xảy ra, tôi đã cố gắng sử dụng các sự kiện chọn nhưng item là null do đó không thể có được item.PartyId
để buộc một bước nhảy thủ công.
Tôi làm cách nào để sự kiện nhấp hoạt động?
tại sao bạn không sử dụng 'location.href' – Rafay
Vì vậy, hãy sử dụng window.location.href thay vì window.location.replace. – j08691
Ok chỉ cố gắng rằng, location.href không hoạt động, nó gần giống như autocomplete là dừng nó như là thông điệp cảnh báo không cháy quá. – LenPopLilly