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 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php去除数组中重复数据
Nov 18 PHP
php递归json类实例
Dec 02 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
PHP中关于php.ini参数优化详解
Feb 28 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
如何给phpadmin一个保护
2006/10/09 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php字符串分割函数用法实例
2015/03/17 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
JavaScript基本对象
2007/01/11 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
python实现博客文章爬虫示例
2014/02/26 Python
python实现逻辑回归的方法示例
2017/05/02 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
python sorted函数原理解析及练习
2020/02/10 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
收入证明申请书
2015/06/12 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书