Estoy trabajando para crear un plugin jQuery AutoSuggest, inspirado en el centro de atención de Apple.AutoSuggest eficiente con jQuery?
Aquí está el código general:
$(document).ready(function() {
$('#q').bind('keyup', function() {
if($(this).val().length == 0) {
// Hide the q-suggestions box
$('#q-suggestions').fadeOut();
} else {
// Show the AJAX Spinner
$("#q").css("background-image","url(/images/ajax-loader.gif)");
$.ajax({
url: '/search/spotlight/',
data: {"q": $(this).val()},
success: function(data) {
$('#q-suggestions').fadeIn(); // Show the q-suggestions box
$('#q-suggestions').html(data); // Fill the q-suggestions box
// Hide the AJAX Spinner
$("#q").css("background-image","url(/images/icon-search.gif)");
}
});
}
});
El problema que quiero resolver así & elegantemente, no está matando al cortar. En este momento, el código anterior golpea el servidor cada vez que escribe una clave y no espera a que termine de escribir. ¿Cuál es la mejor manera de resolver esto? A. ¿Matar la solicitud AJAX anterior? B. ¿Algún tipo de caché AJAX? C. Agregando algún tipo de retraso para enviar solo .AJAX() cuando la persona ha dejado de escribir durante 300ms más o menos?
¿Has mirado en el nuevo plugin autocompletar de jQuery UI http://jqueryui.com/demos/autocomplete/? – PetersenDidIt
jQuery no es un acrónimo. – SLaks
@nobosh: estoy buscando implementar autosuggest eficiente sin matar al servidor y si puede encontrar algo que cree que sería eficiente, ¿podría compartir el código del servidor de muestra? - Gracias. –