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.

¿Fue útil?

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:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top