Awesomplete
Ultra lightweight, usable, autocomplete with zero dependencies
Ultra lightweight, customizable, simple autocomplete widget with zero dependencies, built with modern standards for modern browsers. Because <datalist> still doesn’t cut it. Note that by default you need to type at least 2 characters for the popup to show up, though that’s super easy to customize. For the autocomplete, you just need an <input> text field (might work on <textarea> and elements with contentEditable, but that hasn’t been tested).