ホームページ >バックエンド開発 >PHPチュートリアル >PHPで簡易検索ボックスの自動プロンプト機能を実装する方法を詳しく解説

PHPで簡易検索ボックスの自動プロンプト機能を実装する方法を詳しく解説

*文
*文オリジナル
2018-01-03 10:07:304520ブラウズ

簡単な検索ボックスの自動プロンプト機能を実装するにはどうすればよいですか?この記事ではphp+mysql+jqueryで実装した簡単な検索自動完了プロンプト機能を中心に、ajaxデータベースクエリや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][&#39;truename&#39;]+"</li>");
              }
              $("#autoBox li").on("click",function(){ //为这些新增的li绑定单击事件,单击后将其值赋到输入框中
                $("#stuSearch").val($(this).text());
              })
              $("#autoBox").append("<li style=&#39;text-align:right&#39;>关闭</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 &#39;../phpFiles/connMysql.php&#39;;
  $keywords=$_POST[&#39;keywords&#39;];
  $myrs=mysql_query("select * from users where truename like &#39;".$keywords."%&#39;");
  if($myrs)
  {
    while($row=mysql_fetch_array($myrs))
    {
      $temp[]=$row;
    }
    echo(json_encode($temp));
  }
?>

レンダリング

入力時:

項目をクリックした後:

関連する推奨事項:

詳しい説明PHP で Sudoku を解く方法

PHP を通じてハイチャートにデータを動的に転送する方法の詳細な説明

PHP が時間に依存する暗号文を生成する方法の詳細な説明

以上がPHPで簡易検索ボックスの自動プロンプト機能を実装する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。