JavaScript 自动完成脚本整理(33个)

JavaScript 自动完成脚本整理(33个) 完整攻略

简介

自动完成是指在用户输入时,自动帮助用户补全已知的完整表达。这在网页制作中特别常见,利用 JavaScript 可以很容易地实现自动完成。

本攻略将介绍 JavaScript 中的33个自动完成脚本整理,包含输入提示,模糊搜索等常用自动完成功能的实现方式。下面进行详细讲解。

代码实现

1. 使用 jQuery UI Autocomplete 插件实现输入提示

jQuery UI Autocomplete 插件是一个非常实用的自动完成插件,它可以检验用户输入的有效性,并在输入时给出提示。以下是实现代码。

$(function() {
  var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang",
    "Fortran",
    "Groovy",
    "Haskell",
    "Java",
    "JavaScript",
    "Lisp",
    "Perl",
    "PHP",
    "Python",
    "Ruby",
    "Scala",
    "Scheme"
  ];
  $( "#autocomplete" ).autocomplete({
    source: availableTags
  });
});

2. 使用 jQuery UI Autocomplete 插件实现模糊搜索提示

有时用户输入的关键字并不完整,或者用户不知道要输入的完整关键字。这时候可以使用 jQuery UI Autocomplete 插件实现模糊搜索提示。

$(function() {
  var options = {
    url: "/search.php",
    getValue: "name",
    list: {
      match: {
        enabled: true
      }
    }
  };
  $("#search").easyAutocomplete(options);
});

3. 使用 Typeahead.js 插件实现输入提示

Typeahead.js 插件是另一个非常实用的自动完成插件,可以实现高性能并支持多种数据源。以下是实现代码。

var substringMatcher = function(strs) {
  return function findMatches(q, cb) {
    var matches, substrRegex;

    // an array that will be populated with substring matches
    matches = [];

    // regex used to determine if a string contains the substring `q`
    substrRegex = new RegExp(q, 'i');

    // iterate through the pool of strings and for any string that
    // contains the substring `q`, add it to the `matches` array
    $.each(strs, function(i, str) {
      if (substrRegex.test(str)) {
        matches.push(str);
      }
    });

    cb(matches);
  };
};

var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
  'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
  'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
  'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
  'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
  'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
  'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
  'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
  'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
];

$('#the-basics .typeahead').typeahead({
  hint: true,
  highlight: true,
  minLength: 1
},
{
  name: 'states',
  source: substringMatcher(states)
});

4. 使用 Bloodhound 插件实现模糊搜索提示

Bloodhound 是一个灵活、快速的类型ahead.js引擎,依赖 jQuery。它支持远程数据或本地数据处理,并且可以构建所需复杂数据集。

var movies = new Bloodhound({
  datumTokenizer: function(d) {
    return Bloodhound.tokenizers.whitespace(d.value);
  },
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: {
    url: '/data/post_1960.json',
    filter: function(list) {
      return $.map(list, function(movie) {
        return { value: movie };
      });
    }
  }
});

// kicks off the loading/processing of `local` and `prefetch`
movies.initialize();

$('.typeahead').typeahead(null, {
  name: 'movies',
  displayKey: 'value',
  hint: true,
  source: movies.ttAdapter(),
  templates: {
    empty: [
      '<div class="empty-message">',
        'unable to find any Best Picture winners that match the current query',
      '</div>'
    ].join('\n'),
    suggestion: Handlebars.compile('<div>{{value}}</div>')
  }
});

结语

本攻略通过简单介绍了 JavaScript 自动完成脚本整理中的 33 个例子,从而让大家更好地了解这个方面的应用。需要注意的是,虽然这里展示了多种自动完成脚本整理实现方式,但在实际使用中,选择合适的自动完成脚本整理方式,是要根据自己的实际需求和业务场景来决定的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 自动完成脚本整理(33个) - Python技术站

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

相关文章

  • JavaScript函数IIFE使用详解

    JavaScript函数IIFE使用详解 IIFE(Immediately Invoked Function Expression)是一种用于创建局部作用域的函数,也被称为自执行函数。它是一种简单的编程技巧,使用它能够有效地防止全局变量被污染,同时也能方便地访问全局变量。 IIFE的基本语法 IIFE 的基本语法如下: (function() { // co…

    JavaScript 2023年5月27日
    00
  • 使用原生JS添加进场和退场动画详解

    使用原生JS添加进场和退场动画可以通过给元素添加CSS类名来实现。下面是详细的步骤: 创建CSS动画 首先,需要先在CSS中定义好对应的进场或退场动画,例如: .animate-in { opacity: 0; transform: translate(0, 50px); animation-name: fadeIn; animation-duration:…

    JavaScript 2023年6月10日
    00
  • JavaScript表单验证示例详解

    下面是“JavaScript表单验证示例详解”的完整攻略: 一、概述 在网页开发中,为了保证用户输入的信息的正确性和完整性,我们通常会对用户所填写的表单进行验证。JavaScript是一种常用的前端语言,它可以通过编写代码实现表单验证的功能。本文将对JavaScript表单验证进行详细讲解,让大家可以通过学习掌握该技术。 二、表单验证的准备工具 实现表单验证…

    JavaScript 2023年6月10日
    00
  • js将当前时间格式转换成时间搓(自写)

    下面是关于如何将当前时间格式转换成时间戳的攻略。 什么是时间戳? 在计算机系统中,时间戳(timestamp),指的是一种类似于日期的格式,是一组单调递增的数字,通常表示从某个特定的时间点开始经过的秒数或毫秒数。 JS中将当前时间格式转换成时间戳的方法 JS中可以采用Date对象及其内置的方法来获取当前时间的格式,并将其转换为时间戳。 获取当前时间的格式 可…

    JavaScript 2023年5月27日
    00
  • JS文件中加载jquery.js的实例代码

    加载jQuery库之前,必须先安装jQuery文件。jQuery可以从官网 https://jquery.com/download/ 下载。我们下载完jquery.js文件之后,需要在HTML的标签内引用这个jquery.js文件。下面是详细操作步骤: 步骤1:从官网下载jQuery文件 打开 https://jquery.com/download/ 网站,…

    JavaScript 2023年5月27日
    00
  • 详解javascript函数的参数

    下面就详细讲解“详解JavaScript函数的参数”的完整攻略。 1. 简介 在 JavaScript 函数定义中,可以传递任意数量的参数,包括数字、字符串、对象等,这些参数可以在函数体中使用。函数的参数可以被看做是可以传递给函数的变量,它们是函数体内部的局部变量。 2. 基本用法 JavaScript 函数定义中可以传递任意数量的参数,这些参数通过逗号隔开…

    JavaScript 2023年5月27日
    00
  • JavaScript 入门基础知识 想学习js的朋友可以参考下

    JavaScript 入门基础知识 本文将介绍 JavaScript 的基础知识,适合想要入门学习 JavaScript 的朋友参考。包括变量、数据类型、运算符、条件语句、循环语句、函数等基础内容。 变量 变量是存储数据的容器,在 JavaScript 中通过 var、let、const 来声明变量。 // 声明变量并初始化 var name = &quot…

    JavaScript 2023年5月18日
    00
  • 学习JavaScript事件流和事件处理程序

    学习JavaScript事件流和事件处理程序是Web前端开发的必备技能之一。本文将详细讲解学习JavaScript事件流和事件处理程序的完整攻略。 视频教程 对于初学者来说,观看视频教程是一个很好的学习方式。以下推荐两个学习JavaScript事件流和事件处理程序的视频教程: JavaScript教程 – 事件流和事件处理程序 JavaScript事件流与事…

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