Ich arbeite an einem jQuery AutoSuggest-Plugin, das von Apples Spotlight inspiriert wurde. HierEffiziente AutoSuggest mit jQuery?
ist der allgemeine Code:
$(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)");
}
});
}
});
Die Frage, die ich elegant gut & lösen wollen, ist nicht die Sever zu töten. Im Augenblick trifft der obige Code den Server jedes Mal, wenn Sie einen Schlüssel eingeben, und wartet nicht darauf, dass Sie mit der Eingabe fertig sind. Was ist der beste Weg, dies zu lösen? A. Kill vorherige AJAX-Anfrage? B. Eine Art von AJAX-Caching? C. Hinzufügen einer Art von Verzögerung, um nur .AJAX() zu senden, wenn die Person die Eingabe für 300 ms oder so gestoppt hat?
Haben Sie an der neuen Autocomplete-Plugin von jQuery UI sah http://jqueryui.com/demos/autocomplete/? – PetersenDidIt
jQuery ist kein Akronym. – SLaks
@nobosh: Ich bin nach der Implementierung effizienter Autosuggest ohne Tötung Server und wenn Sie in der Lage, mit etwas zu kommen Sie denken, es wäre effizient, würden Sie die Beispielserver Seite Code teilen? - Vielen Dank. –