jQuery no LiveSearch de trabajo cuando la carga de forma asíncrona
-
30-09-2019 - |
Pregunta
Tengo un LiveSearch y utiliza una lista desordenada, como esto:
<input id="search"/>
<ul id="list>
<li>1</li>
<li>2</li>
</ul>
Ahora tengo la función PUT LiveSearch sobre estos temas:
$('#search').liveUpdate('#list').focus();
Al principio me estaba poniendo a prueba con una lista estática, trabajó como encanto. Ahora estoy tratando de cargarla asíncrona con las siguientes afirmaciones:
//$('#list').load('/search/organization');
//$('#list').load('/search/person');
//$('#list').load('/search/debitor');
$('#list').load('/search/accountname');
Los datos se cargan de forma normal, pero ahora la búsqueda ya no funciona. No estoy acostumbrado a que el uso de AJAX así que quizás es un problema común?
Gracias de antemano,
EDIT:
Al agregar esta línea de código, o alerta en otro lugar que devuelve 1. Siempre hay sólo un elemento en la ul.
$('#list').load('/search/organization');
var test = jQuery('#list');
alert(test.length);
Aún no se encontró sollution.
Solución
El plug-in en realidad tiene un caché de los elementos <li>
que están siendo reemplazados, por lo que necesita para la ex manejador y "desatar" re-unen de nuevo, como esto:
$('#list').load('/search/accountname', function() {
$('#search').unbind('keyup').liveUpdate('#list');
});
Desde el plugin está aparejado hasta la .keyup()
manipulador, estas a desatar eso y añadiendo una nueva. Para realmente limpieza, se puede agregar un .parents('form').unbind('submit')
, pero si tuviera cualquier otro Solicitud de manipuladores en la <form>
, eso sería una mala idea:)