jQuery autocomplete的使用(邮箱自动补全)

使用jQuery ui插件

$("#reg_email").autocomplete({
		
		delay: 0,//延迟时间
		autoFocus: true,
		source: function(request,response) {
			/*获取用户输入的内容
			alert(request.term);*/
			/*绑定数据源
			response(['a','aa','aaaa']);*/
			
			var hosts=['163.com','qq.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;
				if(host){
					findedHosts=$.grep(hosts,function(value,index){
						return value.indexOf(host)>-1;
					});
				}else{
					findedHosts=hosts;
				}
				//如果findedHosts为空,return也是空
				var findedResult=$.map(findedHosts,function(value,index){
					return name+'@'+value;
				});
				
				result=result.concat(findedResult);
			}
			response(result);
		},
	});


你可能感兴趣的:(jQuery autocomplete的使用(邮箱自动补全))