Używam wtyczki twitter typeahead (typeahead.js 0.11.1) z wywołaniem ajax, która działa, ale daje dziwne zachowanie, gdy liczba wyników ajax jest mniejsza niż limit (domyślny limit to 5, którego nie określiłem w wywołaniu typu). Oto jak mam go ustawić:twitter typeahead ajax wyniki nie wszystkie wyświetlane
var 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);
}
});
};
Rzeczywisty przykład, który jest przyczyną mnie problemu, to wpisując „new do” w polu tekstowym, które zwraca następujący json.options:
[
'new to add to g1',
'new to be in grp1 then remove from grp',
'new to drag',
'new to assign'
]
Ale jedyną sugestią, która się pojawia jest "nowe, aby dodać do g1", kiedy wszystkie 4 powinny pokazać. Jeśli będę kontynuować pisanie "new to d", pojawi się propozycja "new to drag". Jeśli wpiszesz tylko "nowy", otrzymam pełne 5 sugestii, w tym większość z powyższych!
Jeśli zmienię var limit = 5;
, to wywołanie ajaxowe tylko wróci do co najwyżej 5 wyników, a lista sugestii nie pojawi się w ogóle, dopóki nie otrzymam "nowego do d", tj. "Nowy" nie daje żadnych sugestii. To sprawia, że myślę, że ma to związek z liczbą wyników ajaxowych, które są mniejsze lub równe ograniczonemu limitowi. Aby przetestować moją teorię, wrzuciłem 5 nic nie znaczących elementów do tablicy json.options, więc zawsze było więcej niż 5 wyników i wszystko działało zgodnie z oczekiwaniami - tylko nie chcę zawsze mieć bezsensownych sugestii na dole mojej listy. Każda rada bardzo doceniona!
Tak że rozwiązany dzięki! –
Wow, to działa dla mnie, dziękuję – danisupr4
Witam. Myślę, że mam ten sam problem z wersją 0.11.1 Typeahead. Nie wszystkie wyniki zwrócone z połączenia ajax są wyświetlane na liście sugestii. Podany link nie wydaje się działać dłużej. Czy możesz wskazać mi, gdzie mogę znaleźć poprawkę dla tego problemu? Dzięki. – Doug