当前位置:首页 > jquery

jquery搜索框

2026-04-08 06:13:09jquery

jQuery 实现搜索框功能

使用 jQuery 可以快速实现一个交互式的搜索框功能,包括自动补全、动态过滤等功能。以下是一个完整的实现示例。

HTML 结构

创建一个基本的搜索框 HTML 结构,包含输入框和搜索按钮:

<div class="search-container">
  <input type="text" id="search-input" placeholder="输入关键词搜索...">
  <button id="search-button">搜索</button>
  <div id="search-results"></div>
</div>

jQuery 实现基础搜索

通过监听输入框事件或按钮点击事件触发搜索逻辑:

jquery搜索框

$(document).ready(function() {
  $('#search-button').click(function() {
    const query = $('#search-input').val().trim();
    if (query) {
      performSearch(query);
    }
  });

  $('#search-input').keypress(function(e) {
    if (e.which === 13) {  // 回车键触发
      $('#search-button').click();
    }
  });
});

function performSearch(query) {
  // 模拟异步搜索(实际项目中替换为AJAX请求)
  $('#search-results').html(`<p>正在搜索: ${query}</p>`);

  // 示例:过滤本地数据
  const mockData = ["苹果", "香蕉", "橙子", "西瓜"];
  const results = mockData.filter(item => item.includes(query));

  if (results.length) {
    $('#search-results').html(`<ul>${
      results.map(item => `<li>${item}</li>`).join('')
    }</ul>`);
  } else {
    $('#search-results').html('<p>无匹配结果</p>');
  }
}

实现自动补全

添加输入时的自动补全功能(使用 jQuery UI Autocomplete):

// 需先引入jQuery UI库
$('#search-input').autocomplete({
  source: function(request, response) {
    // 实际项目中使用AJAX获取数据
    const mockData = ["北京", "上海", "广州", "深圳"];
    const results = mockData.filter(item => 
      item.toLowerCase().includes(request.term.toLowerCase())
    );
    response(results);
  },
  minLength: 1  // 输入至少1个字符后触发
});

动态高亮匹配文本

在搜索结果中高亮显示匹配的关键词:

jquery搜索框

function highlightText(text, query) {
  const regex = new RegExp(query, 'gi');
  return text.replace(regex, match => `<span class="highlight">${match}</span>`);
}

// 在performSearch函数中使用:
const results = mockData.filter(item => item.includes(query));
$('#search-results').html(`<ul>${
  results.map(item => `<li>${highlightText(item, query)}</li>`).join('')
}</ul>`);

样式优化

添加基础CSS样式增强用户体验:

.search-container {
  max-width: 600px;
  margin: 20px auto;
}
#search-input {
  width: 70%;
  padding: 8px;
}
#search-button {
  padding: 8px 15px;
}
.highlight {
  background-color: yellow;
  font-weight: bold;
}
.ui-autocomplete {
  max-height: 200px;
  overflow-y: auto;
}

实际项目集成

在实际项目中,通常需要替换为真实的AJAX请求:

function performSearch(query) {
  $.ajax({
    url: '/api/search',
    method: 'GET',
    data: { q: query },
    success: function(data) {
      // 处理返回的数据
    },
    error: function() {
      $('#search-results').html('<p>搜索失败,请重试</p>');
    }
  });
}

标签: jquery
分享给朋友:

相关文章

jquery页面

jquery页面

jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…

jquery标签

jquery标签

jQuery 标签操作 jQuery 提供了多种方法来操作 HTML 标签(元素),包括创建、修改、删除和遍历等。以下是常用的 jQuery 标签操作方法: 选择标签 使用选择器获取 HTML 元素…

jquery 表单

jquery 表单

jQuery 表单操作 使用 jQuery 操作表单可以简化 DOM 操作,提高开发效率。以下是一些常见的表单操作方法: 获取表单元素的值 使用 val() 方法可以获取或设置表单元素的值。 //…

jquery点击事件

jquery点击事件

jQuery 点击事件基础用法 使用 jQuery 绑定点击事件主要通过 .click() 方法或 .on() 方法实现。以下示例展示如何为按钮添加点击事件: // 方法1: 使用 .click()…

jquery 数字

jquery 数字

jQuery 数字操作 jQuery 本身不直接提供数字操作的方法,但可以结合 JavaScript 的数字处理功能来实现。以下是常见的数字操作场景及实现方式。 数字格式化 使用 JavaScrip…

jquery 控件

jquery 控件

jQuery 控件概述 jQuery 控件是基于 jQuery 库开发的交互式 UI 组件,用于增强网页功能。这些控件通常提供表单元素、数据展示、导航等功能,简化开发流程。 常用 jQuery 控件…