cevap

21

sıfır olarak widget'ı minLength seçeneği elle search olayı tetiklemek ve ayarlamalısınız:

$("input").autocomplete({ 
    minLength: 0, 
    /* other options */ 
}).on("focus", function() { 
    $(this).autocomplete("search", ""); 
}); 

Çalışma örneği: Ben aslında anladım düşünüyorumhttp://jsfiddle.net/9JmVu/

+1

: "", .focus (function() {$ (this) .autocomplete ("arama")}); harika çalıştı. –

+0

jQuery'nin daha eski bir sürümünü kullanıyor olabilirsiniz. –

+0

Bu, 'search' olayını çağırmadan mümkün mü? –

1

. MinLength değerini 0 olarak ayarlar ve sonra "" için bir arama tetiklerseniz, menüyü açar.

 $(inputSelector).autocomplete(
       { 
        source: this.validConstructCodes, 
        minLength: 0, 
        autoFocus: true, 
        autoSelect: true 
       }); 
     $(inputSelector).focus(function(event) { 
     $(this).autocomplete("search" , ""); 
     }); 
1

Andrew'den açıklandığı gibi, olayı tetiklemeniz gerekir.

Ancak, ajax isteğinden bir sonuç aldığınızda, sunucuyu tekrar sormak yerine sonuçları tekrar göstermek daha iyidir. MinLength değeri bağımsız, sunucu isteklerinde önerildiği gibi 2 olabilir.

$("input").autocomplete({ 
    minLength: 2, 
    /* your options */ 
}).on("focus", function() { 
    /* the element with the search results */ 
    var uid = $("#ui-id-"+$(this).autocomplete("instance").uuid); 

    if(uid.html().length == 0) { 
     /* same as $(this).autocomplete("search", this.value); */ 
     $(this).keydown(); 
    } 
    else { 
     uid.show(); 
    } 
}); 
Bununla "açık" yerine biz ancak kullandığınız sürümünde çalışmak için alamadım
İlgili konular