jQuery-UI邮箱自动补全——个人笔记

//邮箱自动补全
    $('#email').autocomplete({
        autoFocus:true,
        delay:0,
        source:function(request,response){
            var hosts=['qq.com','163.com','gmail.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){
                      //如果用户已经输入@和后的内容
                      //找相关域名提示
                      //如果没输入@后面的内容,那就把所有内容显示
                      //三元表达式
                      var findedHosts=(host ? $.grep(hosts,function(value,index){return value.indexOf(host)>-1}) : hosts ),
                            findedResult=$.map(findedHosts, function(value,index) {
                                return name + '@'+value;
                            });
                            result=result.concat(findedResult);
                  }
                  response(result);
        },
    });
 

你可能感兴趣的:(jQuery-UI邮箱自动补全——个人笔记)