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 使用手册(七)

    下面是对 “jQuery 使用手册(七)” 的详细讲解。 一、内容概述 “jQuery 使用手册(七)” 是 jQuery 官方文档的一部分,其中主要介绍了 jQuery 的 DOM 操作、特效和事件处理等方面的内容。全文共分为七个部分,分别为: DOM 操作方法 遍历方法 特效方法 事件处理方法 工具方法 AJAX 方法 JSON 方法 本手册的内容相对较…

    jquery 2023年5月27日
    00
  • jQWidgets jqxTreeGrid uncheckRow() 方法

    以下是关于 jQWidgets jqxTreeGrid 组件中 uncheckRow() 方法的详细攻略。 jQWidgets jqxTreeGrid uncheckRow() 方法 jQWidgets jqxTreeGrid 的 uncheckRow() 方法用于取消选中的复框。您使用此方法来取消选中行的复选框,以便在需要时执行其他操作。 语法 $(‘#t…

    jquery 2023年5月12日
    00
  • jQWidgets jqxListBox allowDrag属性

    jQWidgets jqxListBox allowDrag属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqxListBox是其中之一,本文将详细介绍xListBox的allowDrag属性,包括定义、语法和示例。 allowDrag属性的定义 jqxListBox的allowDrag属性用于设置是否允许拖拽列表…

    jquery 2023年5月10日
    00
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)

    下面是详细讲解“jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)”的完整攻略: 1. 什么是Fine Uploader? Fine Uploader是一个jQuery插件,用于进行文件的上传等操作。它支持多文件上传,具有优秀的浏览器兼容性和可扩展性,功能强大又易于使用。 2. Fine Uploader的基本用法 以下…

    jquery 2023年5月28日
    00
  • 浅谈Asp.net Mvc之Action如何传多个参数的方法

    那么首先需要了解的是,ASP.NET MVC中的Action可以通过多种方式来传递参数,下面我会结合示例来详细讲解。 方法一:Query String传参法 Query String是通过将参数添加到URL字符串后面传递,并在服务器端获取。这种方式适用于少量的参数或者请求缓存已经开启的情况下。 示例1 例如:请求URL地址是/Home/Index?id=1&…

    jquery 2023年5月18日
    00
  • jQuery无刷新上传之uploadify3.1简单使用

    为了详细讲解“jQuery无刷新上传之uploadify3.1简单使用”的完整攻略,我们需要按照一定的顺序进行介绍和操作。下面是教程的步骤: 1. 引入uploadify插件和jquery插件 为了使用uploadify插件,我们首先需要引入jQuery插件和uploadify插件的js文件和css文件。通常情况下,我们可以在html文档中直接引入这些文件。…

    jquery 2023年5月27日
    00
  • js表单登陆验证示例

    下面是 “JS表单登录验证示例” 的完整攻略。 目录 介绍 HTML部分 JavaScript部分 示例说明 总结 介绍 在网站开发中,表单登录验证是一个很重要且常见的功能,它可以防止未授权访问和恶意攻击。本文将介绍如何使用JavaScript实现基本的表单登录验证。 HTML部分 首先,我们需要创建一个HTML表单,用于收集用户输入的信息。以下是HTML表…

    jquery 2023年5月27日
    00
  • jQWidgets jqxTabs enableAt()方法

    针对“jQWidgets jqxTabs enableAt()方法”的详细讲解,请见下文: 1. jQWidgets jqxTabs组件介绍 jQWidgets jqxTabs组件是一款基于jQuery和CSS3的标签页插件。它提供了一种简单的方法来创建交互式选项卡界面。您可以使用jqxTabs来显示不同的内容,如文本、图片、表格、图表等等。它还支持许多自定…

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