//邮箱的提示信息
$("#email").autocomplete({delay:0, 没有延迟
autoFocus:true,
source : function(request,response){
//request 获取输入的内容
//alert(request.term);
//绑定数据源
//response(['aa','aaaaa','bb']);
var hosts=['qq.com','163.com','263.com','sina.com'],
term=request.term, //获取输入的内容
name=term, //邮箱的用户名
host='', //邮箱的域名
ix=term.indexOf("@"), //@的位置
result = []; //最终呈现的邮箱列表
result.push(term);
//当有@的时候 重新分配用户名和域名
if(ix>-1){
name=term.slice(0,ix);
host=term.slice(ix+1);
}
if(name){
//如果用户已经输入@和后面的域名
//那么就找到相关的域名提示 比如 bnbns@1 就提示[email protected]
//如果用户还没有输入@或后面的域名
//那么就把所有的域名都提示出来
var findedHost = (host?$.grep(hosts,function(value,index){
return value.indexOf(host)>-1;
},false):hosts),findedResult =$.map(findedHost,function(value,index){
return name+"@"+value;
})
result=result.concat(findedResult) ;
}
response(result);
},
});
这个是利用获取的内容,来提示可能要匹配的内容。可以让用户更好的体验