Ben çalışır bir ajax çağrı ile twitter typeahead (typeahead.js 0.11.1) eklenti kullanıyorum, ama ajax sonuçlarının sayısı sınırdan daha az olduğunda bazı garip davranışlar verir (varsayılan sınır, typeahead çağrısında belirtmediğim 5'tir). İşte ben bunu kurdunuz nasıl:twitter typeahead ajax sonuçları gösterilmiyor hepsi
bana soruna nedenvar limit = 6;
populate_typeahead = function() {
$('.typeahead').typeahead('destroy');
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
source: ajaxquery,
});
};
var ajaxquery = function(query, syncresults, process) {
return $.ajax({
url: $(this)[0].$el.closest('span.twitter-typeahead').find('input:last').data('mahiFindByPath'),
type: 'get',
data: {search_string: query, limit: limit},
dataType: 'json',
success: function(json) {
return typeof json.options == 'undefined' ? false : process(json.options);
}
});
};
fiili örnek, yazarak "yeni için" Aşağıdaki json.options döndüren giriş kutusuna:
[
'new to add to g1',
'new to be in grp1 then remove from grp',
'new to drag',
'new to assign'
]
Ancak, 4'ünün de göstermesi gereken tek öneri, 'g1'e eklenecek yeni'. 'New to d' yazmaya devam edersem 'yeni sürükle' önerisi gelir. Eğer sadece 'yeni' yazıyorsam, yukarıdakilerin çoğunu da içeren tam 5 öneride bulunuyorum!
var limit = 5;
değiştirirseniz, ajax çağrısı yalnızca en fazla 5 sonuç döndürür ve 'new to d' olana kadar 'öneri listesi' hiç öneride bulunmaz. Bu bana, ajax sonuçlarının adress sınırına eşit veya daha az olması ile ilgili olduğunu düşünmemi sağladı. Teorimi test etmek için 5 anlamsız öğeyi json.options dizisine itdim, böylece her zaman 5'ten fazla sonuç vardı ve hepsi beklendiği gibi çalıştı - sadece listemin alt kısmında her zaman anlamsız önerilere sahip olmak istemiyorum. Herhangi bir tavsiye büyük takdir!
Evet eklemek! –
wow, benim için çalışıyor, teşekkürler – danisupr4
Merhaba. Ben Tipeahead 0.11.1 sürümü ile aynı sorunu yaşıyorum düşünüyorum. Ajax çağrısından dönen tüm sonuçlar öneri listesinde gösterilmez. Verdiğiniz bağlantı artık işe yaramıyor. Bu sorun için nerede bir düzeltme bulabilirim? Teşekkürler. – Doug