First, great script - thank you!
I've noticed that when adding an item to the <datalist> that contains an ampersand, upon selection the ampersand becomes & in the input field and subsequent submitted data. This can be replicated on your demo site using the browser dev tool to change the contents of your beer list, for example. Add "Corona & Lime" and you'll see what I mean.