在输入框输入数据时,自动提示与输入相关的数据

以下是在输入框输入数据时,自动提示与输入相关的数据,数据从数据库中查询的:

【HTML部分】	
<div class="itempanel">
			<div class="floatleft title">退货配送人:</div>
			<div class="floatleft editor"><input type="text" id="username" name="username" onkeyup="find_user('username')" value=""></div>
				<input type="hidden" id="usernameid" name="usernameid" value=""/>
				<div id="usernameDiv" style="display: none;position: fixed;354px">
					<select multiple="multiple" onclick="selected('username')" id="usernameShow" name="usernameShow" style=" 401px; margin-left: 134px; margin-top: 24px;" onmouseout="isClick('username')">
					</select>
				</div>
			<div class="floatleft message">请在此输入退货配送人姓名!</div>
			<div class="clear"></div>
		</div>
		
		<div class="itempanel">
			<div class="floatleft title">退货配送人电话:</div>
			<div class="floatleft editor"><input type="text" id="phone" name="phone" /></div>
			<div class="floatleft message">请在此输入退货配送人电话!</div>
			<div class="clear"></div>
</div>

【JavaScript部分】
//请求数据-----根据输入的信息查找管理员信息
function find_user(name){
	$("#"+name+"id").val('');
	var userName=document.getElementById(name).value;
	$.ajax({
		url:'<%=basePath%>user/selbymanagement',
		type:'POST',
		data:'username='+userName,
		success:function(data)
        {
			document.getElementById(name+"Div").style.display="block";
			var jsonData = eval('(' + decodeURIComponent(data) + ')');
			console.log(jsonData);
			var userlist=jsonData.data;
			document.getElementById(name+"Show").innerHTML = "";
			for(var i =0;i<userlist.length;i++){
				$('#'+name+'Show').append('<option value="'+userlist[i].phone+'">'+userlist[i].nickname+'</option>');
			}
        },
        error: function(data, error, msg)
        {
        	console.log(data);
        	console.log(error);
        	console.log(msg);
        }
    });
}
//选择
function selected(name){
	var userphone=$("#"+name+"Show option:selected").val();
	var username=$("#"+name+"Show option:selected").text();
	$("#"+name+"id").val(userphone);
	$("#"+name).val(username);
	document.getElementById("phone").value=userphone;
	showNone(name);
}
//判断是否是在显示结果之外点击
function isClick(name){
	document.onclick = function(e){ 
		var id=$("#"+name+"id").val();
		if(id==null||id==""||id==undefined){
			$("#"+name).val('');
		}
		showNone(name);
	}
}
//失去焦点事件
function showNone(showName){
	document.getElementById(showName+"Div").style.display="none";
}
 
【效果图】

 

原文地址:https://www.cnblogs.com/songfayuan/p/5169828.html