zoukankan      html  css  js  c++  java
  • jQuery实现用户输入自动完成功能

    jQuery实现用户输入自动完成功能

    利用jQuery UI中Auto-complete插件实现输入自动完成功能,大家在使用诸如淘宝、京东等电商平台搜索商品时,往往只要输入商品的一些特殊字符,就可以显示出和该字符相近的列表菜单,用户使用鼠标或者键盘方向键就可以快速选择,实现了很好的用户体验。

    1.最简单的用户输入自动完成

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI Autocomplete - Default functionality</title>
      <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
      <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
      <script>
      $(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"
        ];
        //自动完成插件函数
        $( "#tags" ).autocomplete({
          //自动完成字典库数据源
          source: availableTags
        });
          });
      </script>
    </head>
    <body>
     
    <div class="ui-widget">
      <label for="tags">请输入: </label>
      <input id="tags">
    </div>
    </body>
    </html>
    

    2 使用远程数据源自动完成

    Auto-complete插件不光可以实现本地数据源的自动完成,也可以读取远程的数据源,列如实现从服务器端读取数据源信息。
    通过将服务器数据缓存到浏览器中,获取的数据源首先保存在cache变量中。

      $(function() {
        //自定义缓存变量
        var cache = {};
        //自动完成插件函数
        $("#tags").autocomplete({
          //定义用户最少输入的字符数
          minLenght: 2,
          source: function(request, response){//定义远程获取数据源函数
        var term = request.term;//定义用户请求信息变量
        if(term in cache) {//判断请求数据是否存在缓存中
          response(cache[term]);//真,从缓存中读取数据
          return;
        }
        $.getJSON('data.json', request, function(data, Status, xhr) {
          cache[term] = data.result;//缓存远程数据
          response(data.result);
        });
          }
        });
      });
  • 相关阅读:
    jQuery实现 自动滚屏操作
    jQuery实现全选、全不选以及反选操作
    读曾国藩
    把时间当作朋友 之感知时间
    把时间当作朋友4未知永远存在
    Android N 设置中语言列表介绍
    如何编译ICU资源
    idea常用快捷键
    shell 笔记
    Json笔记
  • 原文地址:https://www.cnblogs.com/summer7310/p/6394392.html
Copyright © 2011-2022 走看看