Jquery实现搜索框提示功能示例代码

下面是详细的Jquery实现搜索框提示功能的攻略。

首先,在HTML中创建一个搜索框和一个显示提示的元素:

<input type="text" id="search-box">
<div id="search-suggestions"></div>

接下来,使用jQuery为搜索框添加一个onkeyup事件,以便在用户输入时显示搜索建议。使用$.ajax函数从服务器获取与用户输入匹配的搜索建议,然后将它们添加到#search-suggestions元素中:

$(document).ready(function(){
   $("#search-box").keyup(function(){
      var query = $(this).val();
      if(query !== ''){
         $.ajax({
            url: 'suggestions.php',
            method: 'POST',
            data: {query:query},
            success: function(data){
               $('#search-suggestions').fadeIn();
               $('#search-suggestions').html(data);
            }
         });
      }
      else {
         $('#search-suggestions').fadeOut();
      }
   });
});

接下来,创建一个suggestions.php文件,这个文件将从服务器获取匹配的搜索建议。在这个文件中,可以使用数据库中的数据,或者在搜索引擎上进行查询,然后将结果返回到前端。

//连接到数据库
$con = mysqli_connect("localhost", "root", "", "mydb");

//检查连接是否成功
if (mysqli_connect_errno()) {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//获取用户输入
$query = $_POST['query'];

//查询匹配的搜索建议
$sql = "SELECT * FROM products WHERE name LIKE '%$query%'";

//执行查询
$result = mysqli_query($con, $sql);

//输出搜索建议
if (mysqli_num_rows($result) > 0) {
   while($row = mysqli_fetch_assoc($result)) {
      echo '<div class="suggestion">' . $row["name"] . '</div>';
   }
} else {
   echo "No suggestions found";
}

//关闭数据库连接
mysqli_close($con);

这里使用了大小写不敏感的LIKE查询来匹配搜索建议。如果通过查询成功获取到匹配的搜索建议,那么就将它们一个一个地包装在HTML中,并输出到#search-suggestions元素中。如果没有搜索建议,则返回"No suggestions found"。

同时,还可以使用CSS对搜索建议做一些样式处理,比如:

#search-suggestions {
   background: #fff;
   box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
   border: 1px solid #ccc;
   position: absolute;
   width: 100%;
   z-index: 999;
}

.suggestion {
   padding: 10px;
   cursor: pointer;
}

.suggestion:hover {
   background: #f1f1f1;
}

这样就可以在用户输入时显示搜索建议了。

下面是另一个示例,演示如何使用jQuery将搜索建议添加到下拉菜单中。

<div id="search-container">
   <input type="text" id="search-box">
   <select id="search-results"></select>
</div>
$(document).ready(function(){
   $("#search-box").keyup(function(){
      var query = $(this).val();
      if(query !== ''){
         $.ajax({
            url: 'suggestions.php',
            method: 'POST',
            data: {query:query},
            success: function(data){
               $('#search-results').html(data);
            }
         });
      }
   });
   $(document).on('click', '#search-results option', function(){
      var value = $(this).text();
      $('#search-box').val(value);
      $('#search-results').html("");
   });
});

这段代码使用了与第一个示例相同的AJAX函数来获取搜索建议。但是,当用户选择一个搜索建议时,它将会自动填充到搜索框中,并清空下拉菜单。这里使用了jQuery的on函数来处理#search-results下拉菜单中的click事件。此外,还可以使用CSS美化下拉菜单,添加一些鼠标悬停、选中和失去焦点时的样式。

这就是使用jQuery实现搜索框提示功能的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery实现搜索框提示功能示例代码 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQuery中的deferred使用方法

    jQuery中的deferred使用方法 deferred是jQuery中处理异步操作的一种方式,可以帮助我们高效地处理异步代码。本文将详细讲解jQuery中的deferred使用方法。 什么是deferred deferred是一种处理异步操作的方式,它可以让我们在异步操作完成后执行回调函数或者操作其他的异步操作,以及可以用于状态的传递。在jQuery中,…

    jquery 2023年5月27日
    00
  • JavaScript实现的开关灯泡点击切换特效示例

    下面我将详细讲解实现”JavaScript实现的开关灯泡点击切换特效”的完整攻略,并通过两条实例说明来展示实现方法。 一、实现思路 在实现JavaScript实现的开关灯泡点击切换特效时,我们需要完成以下几个步骤: 在页面上添加一个包含灯泡的div容器。 给div容器和其中的灯泡分别设置不同的类名。 使用JavaScript来获取容器元素和灯泡元素。 通过监…

    jquery 2023年5月29日
    00
  • jQWidgets jqxRadioButton取消检查的事件

    以下是关于 jQWidgets jqxRadioButton 组件中取消检查的事件的详细攻略。 jQWidgets jqxRadioButton 取消检查的事件 jQWidgets jqxRadioButton 组件的取消检查的事件用于在单选按钮取消选中时触发。 语法 // 取消检查的事件 $(‘#radioButton’).on(‘uncheck’, fu…

    jquery 2023年5月12日
    00
  • Jquery跨域获得Json时invalid label错误的解决办法

    JQuery在跨域获取JSON时,可能会遇到invalid label错误。这是因为JSONP技术是通过在请求中添加callback参数,然后在服务端的响应中返回一些JavaScript代码来实现的。但如果服务端在响应中返回的数据格式不是正确的JavaScript对象,就会导致这个错误的产生。 下面是解决这个问题的方法: 方法一:使用jsonpCallbac…

    jquery 2023年5月28日
    00
  • javascript进阶篇深拷贝实现的四种方式

    Javascript进阶篇:深拷贝实现的四种方式 在Javascript中,数据类型可以分为原始类型和引用类型。其中,原始类型在赋值、作为函数参数、返回值传递等情况下,直接进行值的传递。而引用类型则是传递引用地址。这样一来,在同一个作用域下、赋值、作为函数参数、返回值传递等情况下,多个变量可能会指向同一引用地址的内存空间,导致某些问题。为了避免这种问题,我们…

    jquery 2023年5月27日
    00
  • jQuery操作元素追加内容示例

    现在我来为你详细讲解一下 jQuery 操作元素追加内容的完整攻略。 1.前置知识 在学习 jQuery 操作元素追加内容之前,需要对 jQuery 的基础语法有一定的了解,比如: jQuery 选择器的语法和常见用法 jQuery 中常用的方法和函数,如 .append()、.prepend()、.text() 等 如果你还不熟悉这些基础知识,可以先学习一…

    jquery 2023年5月28日
    00
  • jQuery PayPal HTML商店

    下面是关于“jQuery PayPal HTML商店”的完整攻略: 概述 “jQuery PayPal HTML商店”是一个基于jQuery和PayPal API构建的HTML商店模板,使用方便且易于扩展。使用该模板你可以快速地构建一个包含购物车、付款和订单确认等重要功能的HTML商店页面。 步骤 步骤一:申请PayPal API账号 在使用该模板之前,你需…

    jquery 2023年5月12日
    00
  • JavaScript自动完成或建议功能

    现在我将详细讲解JavaScript自动完成或建议功能的完整攻略。 什么是JavaScript自动完成或建议功能? JavaScript自动完成或建议功能是一种使得用户在快速输入信息的同时显示可能与其输入相匹配的自动建议的功能。例如,当用户在搜索框中键入“谷歌”,搜索引擎会自动显示可能的建议,如“谷歌新闻”、“谷歌图片”等等。 在JavaScript中,我们…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部