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中神奇的fastcgi_finish_request
May 02 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
Web程序工作原理详解
Dec 25 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
详解php用static方法的原因
Sep 12 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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/11/26 PHP
php检查页面是否被百度收录
2015/10/28 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
Vue 事件处理操作实例详解
2019/03/05 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
python文件与目录操作实例详解
2016/02/22 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
python装饰器实例大详解
2017/10/25 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python 装饰器的使用示例
2020/10/10 Python
基于Python实现天天酷跑功能
2021/01/06 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
化工专业大学生职业生涯规划书
2014/01/14 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
公司合作协议范文
2014/10/01 职场文书
大学生个人学年总结
2015/02/15 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
交心谈心活动总结
2015/05/11 职场文书
房贷工资证明范本
2015/06/12 职场文书
2015中学学校工作总结
2015/07/20 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
手残删除python之后的补救方法
2021/06/26 Python
使用Django框架创建项目
2022/06/10 Python
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS