我最近问了这个问题并使用
jquery获得了一个很好的解决方案来实现自动完成:
Need a good way for user to select “To” for email sending
解决方案是使用以下语法:
$("#suggest3").autocomplete(someArray,{ multiple: true,mustMatch: true,autoFill: true
});
我现在在电子邮件地址列表上有自动完成功能,我需要更进一步映射到gmail之类的功能,其中我在列表中包含“真实”名称和电子邮件地址,以便用户可以输入名称或电子邮件地址,它会找到条目:
因此列表看起来与此类似,用户可以通过键入“Firs …”进行搜索.或“emailAdd …”
"First Last" <emailAddress> "First1 Las1t" <emailAddress1> "First2 Last2" <emailAddress2>
解决方法
等一下..你看
the demo了吗?我认为它已经完成了这一点.例如,如果我在电子邮件字段中键入“for”或“jap”,则会出现同一个人:Fornelia Marconi(“jap”是其电子邮件地址的一部分).这是启用此功能的代码.
$("#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"),"<strong>$1</strong>") + "<br><span style='font-size: 80%;'>Email: <" + row.to + "></span>"; },formatResult: function(row) { return row.to; } });
var emails = [ { name: "Peter Pan",to: "peter@pan.de" },{ name: "Molly",to: "molly@yahoo.com" } ];