最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS+Ajax實(shí)現(xiàn)百度智能搜索框

 更新時間:2017年08月04日 14:41:48   作者:不染心  
現(xiàn)在遇到這樣的需求,要求輸入一個a之后會出現(xiàn)包含a的下拉列表,當(dāng)我們點(diǎn)擊某一個的時候,搜索框中就會出現(xiàn)點(diǎn)擊的值。下面小編給大家分享同js和ajax實(shí)現(xiàn)百度智能搜索框,需要的的朋友參考下實(shí)現(xiàn)代碼

首先瀏覽實(shí)現(xiàn)后的結(jié)果,輸入一個a之后會出現(xiàn)包含a的下拉列表,當(dāng)我們點(diǎn)擊某一個的時候,搜索框中就會出現(xiàn)點(diǎn)擊的值。實(shí)現(xiàn)所需要的主要是ajax+js。

前端search.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
  pageEncoding="UTF-8"%> 
<html> 
<head> 
<title>Insert title here</title> 
<script src="js/jquery.min.js"></script> 
<style type="text/css"> 
  *{ 
   margin: 0 auto; 
   padding: 0; 
  } 
  li{ 
    margin:0; 
    height: 20px; 
    width: 200px; 
    list-style: none; 
  } 
  /* #c li:HOVER{ 
   background-color: #F9F9F9; 
  } */ 
  .onmouse{ 
   background-color: #F9F9F9; 
  }  
  .outmouse{ 
   background-color:white; 
  } 
  #contain{ 
   width: 50%; 
  } 
</style> 
<!-- jquery --> 
<script type="text/javascript"> 
var xmlHttp; 
  function getMoreContents() { 
  var content=document.getElementById("keyword"); 
  if(content.value==""){ 
    ClearContent(); 
    return;//如果不設(shè)置,傳到后臺的是空值,所有的值都會被輸出 
  } 
  xmlHttp=creatXMLHttp(); 
  //alert(xmlHttp); 
  //要給服務(wù)器發(fā)送數(shù)據(jù) 
  var url="searchServlet?keyword="+escape(content.value); 
  xmlHttp.open("GET",url,true); 
  xmlHttp.onreadystatechange=callback; 
  xmlHttp.send(null); 
} 
  //獲取XMLHttp對象 
 function creatXMLHttp() { 
  var xmlHttp; 
  if(window.XMLHttpRequest){ 
    xmlHttp=new XMLHttpRequest(); 
  } 
  if(window.ActiveXObject) 
  { 
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    if(!xmlHttp){ 
      xmlHttp=new ActiveXOject("Msxml2.XMLHTTP"); 
    } 
  } 
  return xmlHttp; 
} //獲取XMLHttp對象 
  function callback() { 
  if(xmlHttp.readyState==4 && xmlHttp.status==200){ 
     var result=xmlHttp.responseText; 
     //解析數(shù)據(jù) 
     var json=eval("("+result+")"); 
     //動態(tài)顯示數(shù)據(jù),線束數(shù)據(jù)在輸入框?qū)Φ南旅?
     setContent(json); 
  } 
} 
//設(shè)置關(guān)聯(lián)數(shù)據(jù)的展示 
function setContent(contents) { 
  ClearContent(); 
  var size=contents.length; 
  for(var i=0;i<size;i++) 
    { 
     var nextNode=contents[i];//json格式的第i個數(shù)據(jù) 
     var li =document.createElement("li"); 
     li.onmouseover=function(){ 
       this.className="onmouse"; 
       document.getElementById("keyword").value=this.innerHTML; 
     } 
     li.onmouseout=function(){ 
       this.className="outmouse"; 
     } 
     var text=document.createTextNode(nextNode); 
     li.appendChild(text); 
     document.getElementById("c").appendChild(li); 
    } 
} 
//清空數(shù)據(jù) 
function ClearContent() { 
  document.getElementById("c").innerHTML=""; 
} 
//當(dāng)控件失去焦點(diǎn)時,清空數(shù)據(jù) 
function outFouce() { 
  ClearContent(); 
} 
//獲得焦點(diǎn)時, 
</script> 
</head> 
<body> 
  <div id="contain"> 
    <div style="height: 20px;"> 
      <input type="text" id="keyword" style="size:50px;" onkeyup="getMoreContents()" onblur="outFouce()" onfocus="getMoreContents()">  
      <input type="button" id="bu" value="百度一下" style=""> 
    </div> 
    <div id="popDiv"> 
     <ul id="c"> 
       <li></li> 
     </ul> 
    </div> 
  </div> 
</body> 
</html> 

后臺searchServlet.Java

package search; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 
import net.sf.json.JSONArray; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
/** 
 * Servlet implementation class searchServlet 
 */ 
@WebServlet("/searchServlet") 
public class searchServlet extends HttpServlet { 
  private static final long serialVersionUID = 1L; 
  static List<String> datas=new ArrayList<String>(); 
  static {//假數(shù)據(jù),模擬數(shù)據(jù)庫讀取 
    datas.add("ajax"); 
    datas.add("bjax"); 
    datas.add("ajaxfd"); 
    datas.add("bfvd"); 
    datas.add("dafdx"); 
    datas.add("fdax"); 
    datas.add("ahg"); 
    datas.add("ddx"); 
  } 
  /** 
   * @see HttpServlet#HttpServlet() 
   */ 
  public searchServlet() { 
    super(); 
    // TODO Auto-generated constructor stub 
  } 
  /** 
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
   */ 
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    doPost(request, response); 
  } 
  /** 
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
   */ 
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    request.setCharacterEncoding("UTF-8"); 
    response.setCharacterEncoding("UTF-8"); 
    String keyword=request.getParameter("keyword"); 
    //System.out.println(keyword); 
    List<String> listdata= getData(keyword); 
  // 返回json,以流的形式寫到前臺 
    response.getWriter().write(JSONArray.fromObject(listdata).toString()); 
  } 
  //獲取假數(shù)據(jù)中符合條件的值 
  public List<String> getData(String keyword) 
  { 
    List<String> list=new ArrayList<String>(); 
    for(String data:datas) 
    { 
      if(data.contains(keyword)){ 
        list.add(data); 
      } 
    } 
    return list; 
  } 
} 

xml配置

<span style="font-size:18px;"><strong><?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
 <servlet> 
  <servlet-name>searchServlet</servlet-name> 
  <servlet-class>search.searchServlet</servlet-class> 
 </servlet> 
 <servlet-mapping> 
  <servlet-name>searchServlet</servlet-name> 
  <url-pattern>/search/searchServlet</url-pattern> 
 </servlet-mapping> 
 <display-name>DropMeum</display-name> 
 <welcome-file-list> 
  <welcome-file>index.html</welcome-file> 
  <welcome-file>index.htm</welcome-file> 
  <welcome-file>index.jsp</welcome-file> 
  <welcome-file>default.html</welcome-file> 
  <welcome-file>default.htm</welcome-file> 
  <welcome-file>default.jsp</welcome-file> 
 </welcome-file-list> 
</web-app></strong></span> 

目錄結(jié)構(gòu)

總結(jié)

以上所述是小編給大家介紹的JS+Ajax實(shí)現(xiàn)百度智能搜索框,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JavaScript的介紹和簡單語法(示例代碼)

    JavaScript的介紹和簡單語法(示例代碼)

    JavaScript是一種廣泛使用的腳本語言,為網(wǎng)頁添加交互性和動態(tài)功能提供了強(qiáng)大的支持,在本文中,我們將深入了解JavaScript的基本概念和用法,包括它在HTML中的書寫位置、注釋和結(jié)束符的使用,以及一種常用的函數(shù)——alert語句,感興趣的朋友一起看看吧
    2023-09-09
  • JS實(shí)現(xiàn)小星星特效

    JS實(shí)現(xiàn)小星星特效

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)小星星特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • JavaScript實(shí)現(xiàn)的原生態(tài)Tab標(biāo)簽頁功能【兼容IE6】

    JavaScript實(shí)現(xiàn)的原生態(tài)Tab標(biāo)簽頁功能【兼容IE6】

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的原生態(tài)Tab標(biāo)簽頁功能,可兼容IE6及谷歌等瀏覽器,涉及javascript事件響應(yīng)及頁面元素動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能

    JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Rxjs tap 操作符的使用場景示例

    Rxjs tap 操作符的使用場景示例

    這篇文章主要為大家介紹了Rxjs tap 操作符的使用場景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Bootstrap carousel輪轉(zhuǎn)圖的使用實(shí)例詳解

    Bootstrap carousel輪轉(zhuǎn)圖的使用實(shí)例詳解

    圖片輪播效果在Web中常常能看到,很多人也稱之為幻燈片。這篇文章主要給大家介紹Bootstrap carousel輪轉(zhuǎn)圖的使用實(shí)例詳解,需要的朋友可以參考下
    2016-05-05
  • tsconfig.json配置詳解

    tsconfig.json配置詳解

    這篇文章主要介紹了tsconfig.json配置詳解,tsconfig.json文件中指定了用來編譯這個項(xiàng)目的根文件和編譯選項(xiàng),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 原生js配合cookie制作保存路徑的拖拽

    原生js配合cookie制作保存路徑的拖拽

    這篇文章主要介紹了原生js配合cookie制作保存路徑的拖拽效果,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 一些常見的TypeScript面試題匯總

    一些常見的TypeScript面試題匯總

    TS是強(qiáng)類型的JS超集,支持ES6語法,支持面向?qū)ο缶幊痰母拍?如類、接口、繼承、泛型等,下面這篇文章主要給大家介紹了關(guān)于一些常見的TypeScript面試題的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • JS實(shí)現(xiàn)普通輪播圖特效

    JS實(shí)現(xiàn)普通輪播圖特效

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)普通輪播圖特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01

最新評論

榆树市| 新乡市| 吴旗县| 会同县| 北川| 平利县| 仙游县| 科尔| 蓝田县| 健康| 错那县| 康定县| 洛阳市| 新闻| 青浦区| 甘洛县| 定襄县| 富源县| 虎林市| 阿拉善右旗| 武宁县| 喜德县| 平罗县| 岚皋县| 金沙县| 桐城市| 敦煌市| 雅安市| 凤山市| 正蓝旗| 华蓥市| 霍城县| 大余县| 榕江县| 林西县| 阳春市| 红河县| 九台市| 五常市| 铅山县| 闽清县|