Jak mogę wyzwalać/wywoływać od siebie nawzajem procedury obsługi zdarzeń autouzupełniania jQuery UI, na przykład wyzwalanie wyszukiwania z obsługi wyboru?

Dzięki, Lille

0
Lille 20 październik 2012, 04:28

2 odpowiedzi

Najlepsza odpowiedź

Aby uruchomić wyszukiwanie:

$("#my-autocomplete").autocomplete("search", "SearchTerm");

Ogólnie wywołuj metody widżetu jQueryUI za pomocą $("selector").widget("method" /*, options */)

2
Andrew Whitaker 20 październik 2012, 04:30

Powyższa odpowiedź jest ważna tylko dla jQueryUI 1.8.x Od jQueryUI 1.9.x musisz dodać limit czasu:

scott.gonzalez mówi: „Wystąpiły dość duże zmiany w autouzupełnianiu między 1,8 a 1,9, w szczególności selekcja jest teraz synchroniczna tam, gdzie wcześniej była asynchroniczna”.

Jeszcze:

scott.gonzalez mówi: „Wybór elementu zawsze zamyka menu. Zamknięcie menu każe autouzupełnianiu ignorować wszelkie oczekujące wyszukiwania. Obejmuje to wyszukiwanie, które uruchamiasz ręcznie bezpośrednio przed zamknięciem menu. Warto również to zauważyć przeprowadzasz wyszukiwanie zduplikowane, ponieważ uruchamiasz wyszukiwanie przed aktualizacją wartości”.

select: function(event, ui)
{
    var that = $(this);            
    setTimeout(function() {
      that.autocomplete("search");
    }, 1);
},

Przykład: http://jsfiddle.net/RB4N3/

7
user706420 7 listopad 2012, 20:29