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 已经成熟
Dec 04 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
php简单实现查询数据库返回json数据
Apr 16 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
php生成gif动画的方法
Nov 05 PHP
WordPress的主题编写中获取头部模板和底部模板
Dec 28 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
PHP学习记录之数组函数
Jun 01 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
laravel框架中视图的基本使用方法分析
Nov 23 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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操作JSON格式数据的实现代码
2011/12/24 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
PHP内核探索之变量
2015/12/22 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
python 从远程服务器下载东西的代码
2013/02/10 Python
对python中return和print的一些理解
2017/08/18 Python
Python中调用其他程序的方式详解
2019/08/06 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
pycharm修改file type方式
2019/11/19 Python
Python遍历字典方式就实例详解
2019/12/28 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Python pip使用超时问题解决方案
2020/08/03 Python
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
历史专业学生的自我评价
2014/02/28 职场文书
建筑安全标语
2014/06/07 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
销售员自我评价
2015/03/11 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
常用的Python代码调试工具总结
2021/06/23 Python