<h1>百度搜索</h1>
<!--建立一个DIV,其中包括一个文本输入框和一个按钮-->
<div id="sousuo">

  <input type="text" id="txt"/><input type="button" id="btn" value="搜索" />
  <!--再建一个DIV用于显示关键字查询出的数据-->
  <div id="liebiao">
    <ul></ul>
  </div>
</div>

<!--建立一个TABLE表格,用于显示搜索内容的详细信息-->
<table id="tb" border="1" cellpadding="0" cellspacing="0" width="80%">
</table>

</body>
<!--用JQuery创建所需的事件-->
<script type="text/javascript">
$(document).ready(function(e) {
  //文本输入自动索引事件
  $("#txt").keyup(function(){
  //定义变量接收文本框中的值
    var txt=$("#txt").val();
    //判断文本框中是否有内容,
    if(txt.length>0)
    {
      //显示相似内容的详情
      XanShi();
      //列表内容长度大于0时,显示查询列表
      $("#liebiao").show();
      $("#tb").show();
      //调用AJAX方法
      $.ajax({
        async:false, //更改为同步执行
        url:"txtchuli.php",
        data:{a:txt,bs:0}, //传递的数据中添加一条自定义属性,以便于区分在处理页面中执行哪种操作
        type:"GET",
        dataType:"TEXT",
        success: function(data){
          //将返回的字符串拆分成数组
          var hang = data.trim().split("|");
          //alert(hang);
          var str = "";
          //对数组中的每组数据进行遍历
          for(var i=0;i<hang.length;i++)
          {
            str = str+"<li class='aa'>"+hang[i]+"</li>";
          }
          //将遍历出的数据放入页面中显示
          $("ul").html(str);
        }
      })
    }
    else
    {
      //如果文本框中内容长度不大于0则隐藏该列表
      $("#liebiao").hide();
      $("#tb").hide();
    }
    //鼠标经过事件
    $(".aa").mouseenter(function(){
      //初始化所有UL的背景色
      $(".aa").css("background-color","white");
      //改变经过的UL的背景色
      $(this).css("background-color","#F00");
      //设置鼠标样式
      $(this).css("cursor","pointer");
    })
    //鼠标离开事件
    $(".aa").mouseleave(function(){
      //改变离开的 UL的背景色
      $(this).css("background-color","white");
    })
    //鼠标点击选中事件
    $(".aa").click(function(){
      //取到被选中的项的内容,放入变量top中
      var top=$(this).text();
      //将取到的内容放入文本框中
      $("#txt").val(top);
      //隐藏查询列表
      $("#liebiao").css("display","none");
      //选中后显示选中内容的详细情况
      XanShi();
    })
  })
});
//创建一个显示详情的事件
function XanShi(){

  var txt= $("#txt").val();
  $.ajax({
    async:false, //更改为同步执行
    url:"txtchuli.php",
    data:{a:txt,bs:1}, //传递的数据中添加一条自定义属性,以便于区分在处理页面中执行哪种操作
    type:"GET",
    dataType:"TEXT",
    success: function(data){
      //拆分传回的数据,得到每行的数据
      var hang =data.trim().split("|");
      //创建表格初始内容
      var str="<tr><td>地区编号</td><td>地区名称</td><td>上级地区编号</td></tr>";
      //对拆分后的数据进行循环遍历
      for (var i=0;i<hang.length;i++)
      {
        //将每行数据再拆分出每列的数据
        var lie=hang[i].split("^");
        //创建拼接表格数据
        str=str+"<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td></tr>"
      }
      //将拼接好的数据带回到页面中显示
      $("#tb").html(str);
    }
  })
}

</script>

仿百度搜索(AJAX)的更多相关文章

  1. 利用autocomplete.js实现仿百度搜索效果(ajax动态获取后端[C#]数据)

    实现功能描述: 1.实现搜索框的智能提示 2.第二次浏览器缓存结果 3.实现仿百度搜索 <!DOCTYPE html> <html xmlns="http://www.w3 ...

  2. vue-resource使用 (vue仿百度搜索)

    1.this.$http.get()方法2.this.$http.post()方法3.this.$http.jsonp()方法 (vue仿百度搜索) 在输入框中输入a, 然后在百度f12 ==> ...

  3. Springboot+Vue实现仿百度搜索自动提示框匹配查询功能

    案例功能效果图 前端初始页面 输入搜索信息页面 点击查询结果页面 环境介绍 前端:vue 后端:springboot jdk:1.8及以上 数据库:mysql 核心代码介绍 TypeCtrler .j ...

  4. jquery 仿百度搜索下拉框的插件

    转载地址:http://www.open-open.com/lib/view/open1420624048437.html 今天写了个下拉插件分享出来 效果: , 可以搜素,也可以使用上下键选择匹配出 ...

  5. js搜索框 js仿百度搜索 js下拉框 jQuery.Autocomplete使用

    做了一个网站,需要根据文本框的输入模糊搜索数据库内容给出提示供用户选择,就找到了jQuery.Autocomplete 效果如下图: 该插件托管在github上,具体地址:https://github ...

  6. 使用Jquery UI 高仿百度搜索下拉列表功能

    最近项目有个需求,在新添加商户的时候,用户输入商户名称后,如果系统中有类似的商户名称,直接显示出来,如下图的效果: 实现这个功能,直接使用了JQuery UI 插件 目前我使用的实现版本是: 网友可以 ...

  7. 15行Python 仿百度搜索引擎

    开发工具:PyCharm 开发环境:python3.6 + flask + requests 开发流程: 1. 启动一个web服务 from flask import Flask app = Flas ...

  8. Ajax以及类似百度搜索框的demo

    public class Ajax01 extends HttpServlet{ @Override protected void service(HttpServletRequest request ...

  9. Ajax跨域实现淘宝/百度搜索下拉提示效果

    最近学到Ajax,觉得自己对与前后端的数据交互有了一个基本的了解.下面是Ajax应用到淘宝/百度的搜索功能的一个简单的小实例,就是输入一个词,下拉框中自动显示匹配的内容:

随机推荐

  1. tomcat目录简介

    http://www.cnblogs.com/kerrycode/p/3588816.html 主目录下面有bin.lib等目录 bin 存放Tomcat启动.停止服务程序以及一些其他脚本程序 lib ...

  2. linux下不重启添加硬盘

    linux下热加载磁盘 临时给虚拟机加了一块硬盘,增加后懒得重启,于是看了看热加载 [root@centos5 ~]# cat /proc/scsi/scsiAttached devices:Host ...

  3. S5PV2210

    http://www.doc88.com/p-773451739254.html CAN转换器 CAN总线信息转换输出装置 基于车载CAN总线的倒车雷达单元设计[图] http://www.doc88 ...

  4. N进制数组转换成正整数

    给定一个任意长度的数组,其中的元素按照一定的进制(N进制)来转换成正整数 //把数组中的元素按照N进制转换成为正整数 #include <stdio.h> #include <std ...

  5. python爬取糗百第一页的笑话

    自学python网络爬虫,发现request比urllib还是要好用一些,因此利用request和BeautifulSoup来实现糗百的首页笑话的抓取.BeautifulSoup通过find和find ...

  6. 20.python的文件处理

    我们日常在处理文件的时候一般都遵循这样的逻辑:打开文件,操作文件,保存关闭文件. 但在python中,又分为以下几步:创建文件对象,对文件对象进行操作(读入,写入之类的),关闭文件. 由于文件操作在p ...

  7. Python学习教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  8. java读取各类型的文件

    java读取各类型的文件 用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-d ...

  9. Excel日期格式提取year

    Excel日期格式提取year =TEXT(YEAR(C2),"0000")

  10. 通过FileWatcher,监听通过web上传的图片,并进行压缩

    需求是这样的,通过web传输过来的图片,无论是JS上传,还是其他的上传方式,都需要生成2张缩略图,分别是用于商品列表的小图small,和用于分享的小图share.基于不同上传方式的不同需求,使用exe ...