我正在努力構建一個jQuery AutoSuggest插件,它受到了蘋果公司的關注。jQuery的高效AutoSuggest?
這裏是通用代碼:
$(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)");
}
});
}
});
我要解決好&典雅的問題,是不是殺死服務器。現在,上面的代碼每次鍵入一個鍵時都會碰到服務器,並且不會等待您基本完成鍵入。解決這個問題的最好方法是什麼? A.殺死先前的AJAX請求? B.一些類型的AJAX緩存? C.添加某種類型的延遲,只在提交.AJAX()時停止輸入300毫秒左右?
你看着從jQuery UI的http://jqueryui.com/demos/autocomplete/新的自動完成插件的人嗎? – PetersenDidIt 2010-03-14 19:09:15
jQuery不是首字母縮寫詞。 – SLaks 2010-03-14 19:13:28
@nobosh:我是在實現了高效的自動提示而不殺死服務器之後,如果你能夠提出一些你認爲它有效的東西,你會分享示例服務器端代碼嗎? - 謝謝。 – 2010-04-29 16:00:04