php+mysql+jquery实现简易的检索自动补全提示功能


Posted in PHP onApril 15, 2017

本文实例讲述了php+mysql+jquery实现简易的检索自动补全提示功能。分享给大家供大家参考,具体如下:

这段时间看了一些关于自动补全提示方面的内容,发现大部分实现过程都十分复杂。心想这应该是一个比较简单的功能啊,于是自己亲自动手来小试一下。思路很常规,需要说明的是没有为提示内容绑定键盘事件,仅可用鼠标操作。

html+jQuery内容:

<html>
<head>
  <style type="text/css">
    #autoBox
    {
      margin: 0px;
      padding: 0px;
      border: 1px solid #CCCCCC;
      width: 200px;
    }
    #autoBox li
    {
      clear: both;
      background-color: white;
      color: black;
      position: relative;
      top: 0px;
      left: 0px;
      line-height: 25px;
      width:200px;
      text-align: left;
      overflow: hidden;
    }
    #autoBox li:hover
    {
      background-color: gray;
      color: yellow;
      cursor: pointer;
    }
  </style>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
  $(function(){
    $.ajaxSetup({cache:false}) ; //不缓存
    //以下代码用于显示检索提示框
    $("#autoBox").hide(); //初始化时隐藏补全提示框
    $("#stuSearch").keyup(function(){ //输入框中的keyup事件激活以下查询行为
      $("#autoBox").html(""); //先清空补全提示框原有内容
      if($("#stuSearch").val().length>0) // 如果输入框不为空
      {
        $.ajax({ //后台调用php文件进行查询
          type:"post",
          url:"phpFiles/stuSearch.php",
          dataType:"json",
          data:{keywords:$("#stuSearch").val()},
          success:function(feedbackdata)
            {
              $("#autoBox").show();// 显示补全提示框
              for(i=0;i<feedbackdata.length;i++) //将结果添加到提示框中
              {
                $("#autoBox").append("<li>"+feedbackdata[i]['truename']+"</li>");
              }
              $("#autoBox li").on("click",function(){ //为这些新增的li绑定单击事件,单击后将其值赋到输入框中
                $("#stuSearch").val($(this).text());
              })
              $("#autoBox").append("<li style='text-align:right'>关闭</li>");//在提示框的最后添加一个li用来关闭
              $("#autoBox li:last").on("click",function(){ // 添加单击事件,单击后隐藏提示框
                $("#autoBox").hide();
              })
            }
        });
      }
    })
  })
</script>
</head>
<body>
<input type="text" placeholder="输入您想检索的关键词后回车。" id="stuSearch" name="stuSearch"/>
<ul id="autoBox">
</ul>
</body>
</html>

stuSearch.php代码

<?php
  include '../phpFiles/connMysql.php';
  $keywords=$_POST['keywords'];
  $myrs=mysql_query("select * from users where truename like '".$keywords."%'");
  if($myrs)
  {
    while($row=mysql_fetch_array($myrs))
    {
      $temp[]=$row;
    }
    echo(json_encode($temp));
  }
?>

效果图

输入时:

php+mysql+jquery实现简易的检索自动补全提示功能

点击某一项后:

php+mysql+jquery实现简易的检索自动补全提示功能

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
PHP模块memcached使用指南
Dec 08 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP中的类型约束介绍
May 11 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
php设计模式之职责链模式定义与用法经典示例
Sep 19 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 #PHP
PHP快速推送微信模板消息
Apr 14 #PHP
PHP 中常量的知识整理
Apr 14 #PHP
php动态读取数据清除最右边距的方法
Apr 12 #PHP
详解使用php调用微信接口上传永久素材
Apr 11 #PHP
php array_reverse 以相反的顺序返回数组实例代码
Apr 11 #PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 #PHP
You might like
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
javascript关于继承解析
2016/05/10 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
javascript this详细介绍
2016/09/19 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
简单了解python模块概念
2018/01/11 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
如何写一个自定义标签
2012/12/28 面试题
鼓励运动员的广播稿
2014/02/08 职场文书
史上最牛的辞职信
2015/02/28 职场文书
教师岗位职责范本
2015/04/02 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
angular异步验证器防抖实例详解
2022/03/31 Javascript