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中使用灵巧的体系结构
Oct 09 PHP
PHP Google的translate API代码
Dec 10 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
php/js获取客户端mac地址的实现代码
Jul 08 PHP
php异常处理使用示例
Feb 25 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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
php简单定时执行任务的实现方法
2015/02/23 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
PHP概率计算函数汇总
2015/09/13 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
详解Angular4 路由设置相关
2017/08/26 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python的设计模式编程入门指南
2015/04/02 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
详解Python sys.argv使用方法
2019/05/10 Python
python中while和for的区别总结
2019/06/28 Python
外国语学院毕业生自荐信
2013/10/28 职场文书
家长会演讲稿
2014/04/26 职场文书
干部对照检查材料范文
2014/08/26 职场文书
商业用房租赁协议书
2014/10/13 职场文书
担保书格式
2015/01/20 职场文书
长城英文导游词
2015/01/30 职场文书
护士年终个人总结
2015/02/13 职场文书
村官个人总结范文
2015/03/03 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
Python中rapidjson参数校验实现
2021/07/25 Python