Estoy perplejo con este, he estado en ello horas, tratando de obtener jQuery autocompletar para ir a otra página en el sitio cuando se hace clic en un elemento en el lista de sugerencias.Cómo redirigir a otra página con el elemento de autocompletado de jQuery, haga clic en
¿Alguien sabe cómo hacer esto? Aquí está mi código:
$(':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);
};
Como se puede ver que he utilizado HTML personalizado en caso _renderItem
, mi HTML personalizado crea una etiqueta de anclaje con el id pasado desde la fuente, esto se ve bien, se forma el enlace correctamente en la esquina inferior izquierda del navegador (estoy usando Chrome)
<a href='/Profile/Details/id' >some other divs & stuff</a>
el problema es que cuando hago clic en el enlace no pasa nada, he intentado usar el evento select pero el artículo es nulo por lo que no puede conseguir item.PartyId
forzar un salto manual.
¿Cómo puedo conseguir que funcione el clic?
por qué no usa 'location.href' – Rafay
Entonces use window.location.href en lugar de window.location.replace. – j08691
Ok, acabo de probar eso, location.href no funciona, es casi como autocompletar, lo detiene ya que el mensaje de alerta no se dispara también. – LenPopLilly