jQuery eklentisi Autocomplete like Google kullanıyorum ve çok iyi çalışıyor. Ancak AJAX talebi her tuşa basıldığında tetiklenir. Yani, washington
dizgisi on (!) Isteklere neden olur. Eh, isteklerin sayısı minLength
seçeneğini kullanarak azaltılabilir. Ancak ör. minLength:3
ile hala yedi istek gönderiyoruz (dördüncü karakterle başlıyor). Mümkün/Google eklentisi gibi jQuery Otomatik Tamamlama için bir gecikme nasıl ayarlanır?
$(function() {
$("#bar").autocomplete({
minLength: 3,
limit: 5,
source : [
function(query, add) {
fooNumber = $('#foo-number').val();
$.getJSON("/my/ajax/controller/bar?data[number]=" + query + "&data[foo_name]=" + fooNumber, function(response) {
add(response);
})
}],
});
});
nasıl sunucudan istemesi anlık önlemek ve kullanıcı
300 ms
ıla örneğin beri yazmaya olmamıştır zaman, script sadece yeni bir istek gönderebilir yapılır?
Cevabınız için teşekkürler! Çalışır ('ReferenceError: timer tanımlı değil') için 'timer = null;' ile çalışır. Ama öyle değil, aradığım şey. Zaman aşımı şu anlama gelir: Sadece bir süre sonra tüm (gereksiz) istekler gönderilecektir. E.g .: 'washington' hala 7 istek üretiyor, bunlar daha sonra biraz yollanıyor. İstediğim isteklerin sayısını azaltmak. Sonraki her bir requst gönderilmelidir. arama kelimesini yazmayı bıraktığımda. – automatix
Başka bir otomatik tamamlama eklentisine geçiş şu anda bir seçenek değil, bu yüzden "Google gibi Otomatik Tamamla" ile denemek zorundayım. – automatix