需要gmail如functionailty - jquery autocomplete来包含名称和电子邮件地址 - 在字符串搜索中

leo*_*ora 6 search jquery autocomplete

我最近问了这个问题并使用jquery获得了一个很好的解决方案来实现自动完成:

需要一种好方法让用户选择"收件人"进行电子邮件发送

解决方案是使用以下语法:

$("#suggest3").autocomplete(someArray, {
    multiple: true,
    mustMatch: true,
    autoFill: true
Run Code Online (Sandbox Code Playgroud)

});

我现在在电子邮件地址列表上有自动完成功能,我需要更进一步映射到gmail之类的功能,其中我在列表中包含"真实"名称和电子邮件地址,以便用户可以输入名称或电子邮件地址,它会找到条目:

因此列表看起来与此类似,用户可以通过键入"Firs ..."进行搜索.或"emailAdd ..."

"First Last" <emailAddress>   
"First1 Las1t" <emailAddress1>   
"First2 Last2" <emailAddress2>   
Run Code Online (Sandbox Code Playgroud)

mon*_*ist 6

等一下..你看了演示吗?我认为它已经完成了这一点.例如,如果我在电子邮件字段中键入"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: &lt;" + row.to + "&gt;</span>";
    },
    formatResult: function(row) {
        return row.to;
    }
});
Run Code Online (Sandbox Code Playgroud)

名称 - 电子邮件对的数组如下所示:

var emails = [
    { name: "Peter Pan", to: "peter@pan.de" },
    { name: "Molly", to: "molly@yahoo.com" }
];
Run Code Online (Sandbox Code Playgroud)