当前位置:首页 > jquery

jquery 搜索框

2026-02-03 11:22:06jquery

jQuery 搜索框实现方法

基本HTML结构

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

<div class="search-container">
  <input type="text" id="search-input" placeholder="搜索...">
  <button id="search-button">搜索</button>
</div>

基础搜索功能

使用jQuery监听按钮点击事件,获取输入框内容并执行搜索:

$(document).ready(function() {
  $('#search-button').click(function() {
    const searchTerm = $('#search-input').val();
    if(searchTerm.trim() !== '') {
      // 执行搜索逻辑
      alert('正在搜索: ' + searchTerm);
    }
  });
});

实时搜索功能

添加输入框的keyup事件监听,实现输入时实时搜索:

jquery 搜索框

$('#search-input').keyup(function() {
  const searchTerm = $(this).val();
  if(searchTerm.length > 2) {  // 至少输入3个字符才搜索
    // 执行实时搜索
    console.log('实时搜索:', searchTerm);
  }
});

搜索结果显示

创建一个区域显示搜索结果,并更新DOM:

<div id="search-results"></div>
function displayResults(results) {
  const $resultsContainer = $('#search-results');
  $resultsContainer.empty();

  if(results.length === 0) {
    $resultsContainer.append('<p>没有找到匹配的结果</p>');
    return;
  }

  $.each(results, function(index, item) {
    $resultsContainer.append(`<div class="result-item">${item.title}</div>`);
  });
}

搜索建议功能

实现搜索框下拉建议功能:

jquery 搜索框

$('#search-input').keyup(function() {
  const searchTerm = $(this).val();

  if(searchTerm.length > 1) {
    $.get('/api/suggestions', {q: searchTerm}, function(data) {
      showSuggestions(data.suggestions);
    });
  }
});

function showSuggestions(suggestions) {
  const $suggestions = $('#search-suggestions');
  $suggestions.empty();

  $.each(suggestions, function(index, suggestion) {
    $suggestions.append(`<div class="suggestion">${suggestion}</div>`);
  });

  $suggestions.show();
}

样式增强

添加CSS样式美化搜索框:

.search-container {
  position: relative;
  width: 300px;
  margin: 20px auto;
}

#search-input {
  width: 70%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px 0 0 4px;
}

#search-button {
  width: 30%;
  padding: 10px;
  background: #2196F3;
  color: white;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
}

#search-suggestions {
  position: absolute;
  width: 70%;
  border: 1px solid #ddd;
  background: white;
  display: none;
}

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

.suggestion:hover {
  background: #f5f5f5;
}

高级功能:防抖处理

使用防抖技术优化实时搜索性能:

let searchTimer;

$('#search-input').keyup(function() {
  clearTimeout(searchTimer);

  searchTimer = setTimeout(function() {
    const searchTerm = $('#search-input').val();
    if(searchTerm.length > 2) {
      performSearch(searchTerm);
    }
  }, 500);  // 延迟500毫秒执行
});

function performSearch(term) {
  // 实际搜索逻辑
}

与后端API交互

通过AJAX与后端API交互获取搜索结果:

function performSearch(term) {
  $.ajax({
    url: '/api/search',
    method: 'GET',
    data: { q: term },
    success: function(response) {
      displayResults(response.results);
    },
    error: function() {
      alert('搜索过程中发生错误');
    }
  });
}

标签: jquery
分享给朋友:

相关文章

jquery手册

jquery手册

jQuery手册概览 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是核心功能和常用方法的分类整理。 核心方法 $(selector…

jquery 对象

jquery 对象

jQuery 对象简介 jQuery 对象是通过 jQuery 选择器或方法创建的封装了 DOM 元素的集合。它是一个类数组对象,包含一组 DOM 元素并提供 jQuery 特有的方法链式操作。 创…

jquery 隐藏

jquery 隐藏

jQuery 隐藏元素的方法 使用 jQuery 隐藏元素可以通过多种方式实现,以下是几种常见的方法: hide() 方法hide() 是最简单的隐藏元素方法,它会将元素的 display 属性设置…

css jquery

css jquery

CSS 与 jQuery 的基础用法 CSS(层叠样式表)用于控制网页的样式和布局,而 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Aja…

引入jquery

引入jquery

引入jQuery的方法 通过CDN引入(推荐) 在HTML文件的<head>或<body>标签内添加以下链接,使用官方或公共CDN服务: <script src="…

jquery a标签

jquery a标签

jQuery 操作 <a> 标签的方法 jQuery 提供了多种方法来操作 <a> 标签(超链接),包括修改属性、内容、样式以及绑定事件等。以下是一些常见的操作方式: 修改…