<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. POJ C++程序设计 编程作业—类和对象 编程题 #2

    编程题 #2 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 下面程序的输出 ...

  2. ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

    解决Can't connect to MySQL server on 'localhost'  tomcat连接mysql,大概是c3p0配置和mysql配置都有问题,导致了内存溢出,几天后,mysq ...

  3. [leetcode]_Unique Paths

    题目:有一个m * n 的方格,如下图,一个小robot希望从左上角走到右下角,共有多少种不同的路线走法. 思路: 我的错误思路:全排列,从(0,0)走到(m - 1,n - 1)共需要往下走m-1步 ...

  4. canvas绘制文字

    绘制字体时可以使用fillText方法或者strokeText方法. fillText方法用填充的方式来绘制字符串 context.fillText (text, x,y,[maxwidth]); s ...

  5. 使用MySQL数据库

    登录到MySQL 当 MySQL 服务已经运行时, 我们可以通过MySQL自带的客户端工具登录到MySQL数据库中, 首先打开命令提示符, 输入以下格式的命名: mysql -h 主机名 -u 用户名 ...

  6. 百度搜索API v3版本与soap

    技术文档请参考http://dev2.baidu.com/docs.do?product=2#page=File,和http://dev2.baidu.com/docs.do?product=2#pa ...

  7. 安装elasticsearch

    安装elasticsearch   来自:http://www.cnblogs.com/huangfox/p/3541300.html 一)安装elasticsearch 1)下载elasticsea ...

  8. js根据日期获得星期

    var weekday = getWeekday('2013-9-26'); function getWeekday(sDate){ var dt = new Date(sDate.replace(/ ...

  9. 旋转转盘选择Menu--第三方开源--CircleMenu

    CircleMenu在github上的项目主页是:https://github.com/zhangphil/Android-CircleMenu CircleMenu用法简单,JAVA代码: pack ...

  10. C# 多线程操作样例

    using System; using System.Threading; //引用多线程 namespace ThreadTest { public class Alpha { public voi ...