7

Sử dụng jQuery Autocomplete, theo các tài liệu bạn cần phải làm như sau để cache:Tự động hoàn thành jQuery - Bộ nhớ đệm có còn là một tùy chọn không?

<script> 
$(function() { 
    var cache = {}, 
     lastXhr; 
    $("#birds").autocomplete({ 
     minLength: 2, 
     source: function(request, response) { 
      var term = request.term; 
      if (term in cache) { 
       response(cache[ term ]); 
       return; 
      } 

      lastXhr = $.getJSON("search.php", request, function(data, status, xhr) { 
       cache[ term ] = data; 
       if (xhr === lastXhr) { 
        response(data); 
       } 
      }); 
     } 
    }); 
}); 
</script> 

Không có từng là một tùy chọn để bộ nhớ cache? Cảm ơn

Trả lời

9

Caching cho jQueryUI autocomplete không bao giờ là tùy chọn.

một lựa chọn cacheLength cho jQuery autocomplete (Jörn Zaefferer bây giờ bị phản đối autocomplete plugin).

Trong migration guide từ autocomplete -> jQueryUI autocomplete, Jörn đề cập đến điều này:

cacheLength: Không có built-in hỗ trợ bộ nhớ đệm nữa, nhưng nó thực sự dễ dàng để thực hiện riêng của mình, như thể hiện theo số Remote with caching demo.

Nếu bạn thường xuyên triển khai bộ nhớ đệm, bạn có thể bọc chức năng trong một plugin khác đóng gói nó.

+0

@DrunkenProgrammer: Cảm ơn bạn đã chỉnh sửa ':)' –

Các vấn đề liên quan