dao层service层jsp页面下面是JS代码。<script type="text/javascript">var xmlHttp;//获得用户输入内容的关联信息的函数function getMoreContents(){ //首先要获得用户的输入 var content = document.getElementById("keyword"); if(content.value == ""){ clearContent(); return; } //给服务器发送用户输入的内容,采用AJAX异步发送数据,使用一个对象,叫做xmlHttp对象 xmlHttp = createXMLHttp(); //要给服务器发送数据 var url = "SearchServlet?keyword="+escape(content.value); //true表示js脚本会在send()方法之后继续执行,而不会等待来自服务器的响应 xmlHttp.open("GET",url,true); //xmlHttp绑定回调方法,这个回调方法会在xmlHttp状态改变的时候被调用,xmlHttp有4中状态,0到4,4表示完成 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){//4表示完成 if(xmlHttp.status==200){//200代表服务器响应成功,404代表资源未找到,500代表服务器内部错误 //交互成功,获得相应的数据,是文本格式 var result = xmlHttp.responseText; //解析获得数据 var json = eval("("+result+")"); for(var i=0;i<json.length;i++){ setContent(json[i].name); //document.write(json[i].name); } //获得数据之后,就可以动态的显示数据,把这些数据展示到输入框下面 document.write(json[i].name); } }}//设置关联数据的展示,参数代表的是服务器传递过来的关联数据function setContent(contents){ clearContent(); //首先获得关联数据的长度,以此来确定生成多少<tr></tr> setLocation(); var size = contents.length; //设置内容 for(var i=0;i<size;i++){ //var nextNode = contents[i];//代表的是json格式数据的第i个元素 var tr = document.createElement("tr"); var td = document.createElement("td"); td.setAttribute("border", "0"); td.setAttribute("bgcolor", "#fffafa"); td.onmouseover = function(){ this.className = 'mouseOver'; }; td.onmouseout = function(){ this.className = 'mouseOut'; }; td.onclick = function(){ //这个方法实现的是当用鼠标点击一个关联数据时,关联数据自动设置为输入框的数据 }; //document.write(size); var text = document.createTextNode(contents); td.appendChild(text); tr.appendChild(td); document.getElementById("content_table_body").appendChild(tr); }}//清空之前的数据function clearContent(){ var contentTableBody = document.getElementById("content_table_body"); var size = contentTableBody.childNodes.length; for(var i=size-1;i>=0;i--){ contentTableBody.removeChild(contentTableBody.childNodes[i]); } document.getElementById("popDiv").style.border="none";}//当输入框失去焦点的时候,关联信息清空function keywordBlur(){ clearContent();}//设置显示关联信息的位置function setLocation(){ //关联信息的显示位置要和输入框一致 var content = document.getElementById("keyword"); var width = content.offsetWidth;//输入框的宽度 var left = content["offsetLeft"];//到左边框的距离 var top = content["offsetTop"]+content.offsetHeight;//到顶部的距离 //获得显示数据的div var popDiv = document.getElementById("popDiv"); popDiv.style.border = "black 1px solid"; popDiv.style.left = left+"px"; popDiv.style.top = top+"px"; popDiv.style.width = width+"px"; document.getElementById("content_table").style.width = width+"px";}</script>大家看下,我想要把数据库里的name显示在搜索框的下面,但是搜索出来的有一样的,JSON的格式感觉没怎么对。
添加回答
举报
0/150
提交
取消