I recently asked this question and got back a great solution using jquery for autocomplete:
Need a good way for user to select "To" for email sending
Wait a second.. Did you look at the demo? I think it already does exactly this. For instance, if I type in "for" or "jap" into the e-mail field, the same person shows up: Fornelia Marconi (with "jap" being part of her e-mail address). Here is the code that enables this.
$("#thickboxEmail").autocomplete(emails, {
minChars: 0,
width: 310,
matchContains: true,
highlightItem: false,
formatItem: function(row, i, max, term) {
return row.name.replace(new RegExp("(" + term + ")", "gi"), "$1") + "
Email: <" + row.to + ">";
},
formatResult: function(row) {
return row.to;
}
});
The array of name-e-mail pairs looks like this:
var emails = [
{ name: "Peter Pan", to: "peter@pan.de" },
{ name: "Molly", to: "molly@yahoo.com" }
];