2013-08-02 22 views
16

Tôi đang cố gắng sử dụng Twitter typeahead.js để trả lại dữ liệu sau khi chọn. Từ những gì tôi hiểu bằng tài liệu, mã phải trông giống nhưtypeahead.js được chọn datum

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

Tuy nhiên điều này không hiệu quả. Cách thích hợp để phát hiện sự kiện typeahead là gì?

Trả lời

43

Sau khi lựa chọn, vì vậy bạn cần typeahead:selected:

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

Hy vọng nó giúp.

+3

Đây là mẹo hay nhưng có thể được chỉnh sửa để sử dụng .on() thay vì .bind() Xem http://stackoverflow.com/questions/8065305/whats-the-difference-between-on -and-live-or-bind – dualmon

+0

Tôi nghĩ rằng việc sử dụng '.on()' là quá mức cần thiết cho điều này, tôi sẽ cập nhật câu trả lời khi '.bind()' không được chấp nhận. –

+4

Đủ công bằng, nhưng chỉ để ghi lại, "Như của jQuery 1.7, phương thức .on() là phương thức ưu tiên để gắn trình xử lý sự kiện" từ http://api.jquery.com/bind/ – dualmon

Các vấn đề liên quan