<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. C++ sstream 中处理字符串

    C++引入ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件. istringstream的 ...

  2. 在oracle中通过链接服务器(dblink)访问sql server

    在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一.   工作环境: <1> Oracle数据库版本:Oracle 11g  运行环境 :IB ...

  3. project 2010 使用技巧

    快捷键 设置任务子任务 ALT+SHIFT+向右方向键 1.工作时间设置 新建一个日历后,可以在 “项目 >> 项目信息 >> 日历” 中进行选择

  4. redis 入门

    1.命令行工具 在windows上巧命令行指令,实在是令人痛苦,本人实在是受不了windows下cmd的笨,powershell的蠢,只能换一个了. 介绍一款cmd工具cmder(github上开源) ...

  5. ElasticSearch.js

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...

  6. 在一般处理程序中,把Form Post过来的表单集合转换成对象 ,仿 MVC post,反射原理

    using System; using System.Collections.Generic; using System.Collections.Specialized; using System.L ...

  7. Oracle之Linux下核心参数

    kernel.shmmax 用于定义单个共享内存段的最大值: 建议一个大的共享内存段能容纳整个SGA,这样在任何时候都不会有性能下降的隐患: 建议:32位Linux 物理内存大于4G 的设置为4G 即 ...

  8. 自学Python一 迷茫中的开端!

    有心学习一下Python,多门技术多条路啊.经历了找教程,看代码,写demo,这东西入门容易精通难啊!又因为请了两周婚假彻底忘光光.想了想自己还是边复习边写点什么东西吧.很多技术,新东西都是看了n多, ...

  9. Oracle Database Links解析

    什么是Database Links呢? 首先我们阐述下它的作用:使用户可以通过一个数据库访问到另外一个远程数据库. 那么Database Link是存储着远程数据库的连接信息. 如下图所示: 用户Sc ...

  10. hdu 3288 Resource Allocation

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3288 Resource Allocation Description HDU-Sailormoon i ...