The page with an scriptaculous autocomplete text box (view the source to see the Javascript as described in my blog post), the server generating the UL, and the source to the server.

The scriptaculous autocomplete assumes you will set a selected value to a text box, but sometimes you want to get a "key" but let the user select a value. Using named li's and a little javascript, we can update a hidden field with an id while scriptaculous updates our text box with the user selected value.