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+MSSQL分页的例子
Oct 09 PHP
PHP Socket 编程
Apr 09 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
Oct 14 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 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安装攻略:常见问题解答(三)
2006/10/09 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
PHP安全上传图片的方法
2015/03/21 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
webstorm添加*.vue文件支持
2018/05/08 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
python批量下载图片的三种方法
2013/04/22 Python
Python 数据结构之旋转链表
2017/02/25 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
提升Python程序性能的7个习惯
2019/04/14 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
python从Oracle读取数据生成图表
2020/10/14 Python
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
关于迟到的检讨书
2015/05/06 职场文书
对公司的意见和建议
2015/06/04 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
分享python函数常见关键字
2022/04/26 Python
TS 类型兼容教程示例详解
2022/09/23 Javascript