課程
/后端開發
/Java
/Servlet+Ajax實現搜索框智能提示
點擊下面的數據添加到搜索框
2017-05-10
源自:Servlet+Ajax實現搜索框智能提示 3-1
正在回答
niu
<%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%> <% String?path?=?request.getContextPath(); String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"> <html> ??<head> ????<base?href="<%=basePath%>"> ???? ????<title>ajax</title> ????<style?type="text/css"> ????.mouseOver{ ???? background:?#708090; ???? color:?#FFFAFA; ????} ????.mouseOut{ ???? background:?#FFFAFA; ???? color:?#000000; ????} ??? ????</style> ?? ??<body> ??<div> ?? ?? ?? <div?style="position:relative"> ????<input?type="text"?size="50"?id="keyword"?onkeyup="getMoreContents()"?onblur="keywordBlur()"?onfocus="getMoreContents()"> ????<input?type="button"?value="百度"> ?? </div> ?? <div?id="popDiv"?style="position:absolute"> ?? <table?id="content_table"?bgcolor="#FFFAFA"> ?? <tbody?id="content_table_body"> ?? ?? </tbody> ?? </table> ?? </div> ?? <div>aaaa</div> ?? </div> ??</body> ??<script?type="text/javascript"> ?? var?xmlHttp; function?getMoreContents(){ var?content=document.getElementById("keyword"); if(content.value==""){ clearContent(); return; } xmlHttp=createXMLHttp(); var?url="search?keyword="+escape(content.value); xmlHttp.open("GET",url,true); xmlHttp.onreadystatechange=callback; xmlHttp.send(null); } //創建xmlHttp對象 function?createXMLHttp(){ var?xmlHttp; if(window.XMLHttpRequest){ xmlHttp=new?XMLHttpRequest(); } if(window.ActiveXObject){ xmlHttp=new?ActiveXObject("Microsoft.XMLHTTP"); if(!xmlHttp){ xmlHttp=new?ActiveXObject("Msxml2.XMLHTTP"); } } return?xmlHttp; } //回調函數 function?callback(){ if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ var?result=xmlHttp.responseText; var?json=eval("("+result+")"); setContent(json); } } } //設置關聯數據的展示 function?setContent(contents){ clearContent(); setLocation(); var?size=contents.length; for(var?i=0;i<size;i++){ var?nextNode=contents[i]; var?tr=document.createElement("tr"); var?td=document.createElement("td"); td.setAttribute("border",?"0"); td.setAttribute("bgcolor",?"#FFFAFA"); td.setAttribute("id",i); td.onmouseover=function(){ this.className='mouseOver'; }; td.onmouseout=function(){ this.className='mouseOut'; }; td.onclick=function(){//點擊獲取td的值 document.getElementById("keyword").value=this.innerHTML; clearContent(); }; var?text=document.createTextNode(nextNode); td.appendChild(text); tr.appendChild(td); document.getElementById("content_table_body").appendChild(tr); } } //清空之前的數據 function?clearContent(){ var?contTableBody=document.getElementById("content_table_body"); var?size=contTableBody.childNodes.length; for(var?i=size-1;i>=0;i--){ contTableBody.removeChild(contTableBody.childNodes[i]); } document.getElementById("popDiv").style.border="none"; } //失去焦點時 function?keywordBlur(){ setTimeout("clearContent()",1000);//停一秒再清空,不然選擇無效 } //設置數據展示樣式 function?setLocation(){ var?content=document.getElementById("keyword"); var?width=content.offsetWidth; var?left=content["offsetLeft"]; var?top=content["offsetTop"]+content.offsetHeight; var?popDiv=document.getElementById("popDiv"); popDiv.style.border="black?1px?solid"; //popDive.style.left=left+"px"; //popDiv.style.top=top+"px"; popDiv.style.width=width+"px"; document.getElementById("content_table").style.width=width+"px"; } ??</script> </html>
舉報
Java實現搜索框智能提示,熟練掌握使用Servlet和Ajax
1 回答搜索框列表
2 回答關于ajax實現搜索框下拉提示
1 回答如何同時實現失去焦點清空,單擊單元格文本框賦值(Servlet+Ajax實現搜索框智能提示...)
1 回答百度的搜索框功能不是還有一種,有關鍵盤事件的
2 回答在沒有數據的時候,鼠標點擊輸入框,輸入框下還是有樣式
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-01-24
niu
2017-05-10