2013-08-02 15 views
16

Próbuję użyć Twittera typeahead.js, aby zwrócić dane po wyborze. Z tego, co zrozumiałem w dokumentacji, kod powinien wyglądać mniej więcej tak, jakby kod ten wyglądał mniej więcej tak, jak na przykład:typeahead.js otrzymaj wybrane dane

$('.selector').typeahead({ 
    name: 'identifier', 
    local: localObjectsArray 
}).on('autocompleted', function(item){ 
    alert(JSON.stringify(item)); 
}); 

Jednak to nie działa. Jaki jest właściwy sposób wykrywania zdarzeń typu "głównodowodzący"?

Odpowiedz

43

Po dokonaniu wyboru, więc trzeba typeahead:selected:

$('.selector').typeahead({ 
    name: 'identifier', 
    local: localObjectsArray 
}).on('typeahead:selected', function (obj, datum) { 
    console.log(obj); 
    console.log(datum); 
}); 

Nadzieję, że to pomaga.

+3

Jest to dobra wskazówka, ale prawdopodobnie powinna być edytowana do użycia .on() zamiast .bind() Zobacz http://stackoverflow.com/questions/8065305/whats-the-difference-between-on -I-live-or-bind – dualmon

+0

Myślę, że użycie '.on()' jest przesadne, zaktualizuję odpowiedź, gdy '.bind()' jest przestarzałe. –

+4

Wystarczająco sprawiedliwe, ale tylko dla zapisu: "Od wersji jQuery 1.7, metoda .on() jest preferowaną metodą dołączania programów obsługi zdarzeń" z http://api.jquery.com/bind/ – dualmon

Powiązane problemy