Yabac is a project mainly written in JavaScript, it's free.
Yet a better auto-complete library
The most annoying problem that I have found is that it does not filter the result immediately after user types.
Only when the ajax request is completed, the result list is updated.
For example, When you type: do, it suggests "dog","does", and "done". And then you type: doe, "dog", "does", and "done" are still shown briefly.
Actually, we can filter the results locally and show only the valid ones instead.
YABAC is a simpler jQuery auto-complete library. It supports:
jQuery Backbone.js Handlebars.js
Tanin Na Nakorn