Maison interface Web js tutoriel 文本框文本自动补全效果示例分享_jquery

文本框文本自动补全效果示例分享_jquery

May 16, 2016 pm 05:03 PM
自动补全

复制代码 代码如下:

/*文本自动补全 zhouxiang*/

(function ($) {
    $.Completion = function (setting) {
        var opts = $.extend({}, $.Completion.DefaultSetting, setting);
        //宽度
        var Completion_Width = null;
        //高度
        var Completion_Height = null;
        //数据源(ashx)访问路径
        var Completion_Data_Url = null;
        //对象
        var Completion_Obj = null;
        var Completion_Obj_Show = null;
        //对象距离左边距
        var Completion_Obj_MarginLeft = null;
        //对象距离上边距
        var Completion_Obj_MarginTop = null;
        //对象高度
        var Completion_Obj_Height = null;
        //分类
        var Completion_Count = null;
        //
        var Completion_Type_obj = null;
        //内容
        var Completion_Value = null;
        //类型
        var Completion_Type = null;
        //是否传入类型
        var Completion_Bool = false;
        //计数
        var Completion_N = 0;
        //回车回调
        var Completion_ClickCall = null;
        //加载
        function Completion_Loading() {
            //初始化
            Init();
            //绑定事件
            Completion_Obj_AddEvent();
        }
        //初始化
        function Init() {
            Completion_Obj_Show = opts.Completion_Obj_Show;
            //获取对象
            Completion_Obj = opts.Completion_Obj;
            //获取对象宽度
            Completion_Width = Completion_Obj.width();
            //获取层显示高度
            Completion_Height = opts.Completion_Height;
            //获取访问数据库URL
            Completion_Data_Url = opts.Completion_Data_Url;
            //每次查询多少条记录
            Completion_Count = opts.Completion_Count;
            //获取对象高度
            Completion_Obj_Height = Completion_Obj.height();
            //获取左边距
            Completion_Obj_MarginLeft = Completion_Obj.offset().left;
            //获取上边距
            Completion_Obj_MarginTop = parseInt(Completion_Obj.offset().top) + parseInt(Completion_Obj_Height);
            Completion_Type_obj = opts.Completion_Type_obj;
            Completion_Bool = opts.Completion_Bool;
            Completion_ClickCall = opts.Completion_ClickCall;
        }
        //给对象添加事件
        function Completion_Obj_AddEvent() {
            Completion_Obj.keyup(function (event) {
                switch (event.keyCode) {
                    case 38:
                        break;
                    case 40:
                        break;
                    case 13:
                        Completion_ClickCall();
                        break;
                    default:
                        //按键事件 延迟操作

                        Cimpletion_Bind();
                        break;
                }

            });
            Completion_Obj.keydown(function (event) {
                switch (event.keyCode) {
                    case 13:
                        break;
                    case 38:
                        if (Completion_N == 0) {
                            Completion_N = (Completion_Obj_Show.find("li").length - 1);
                        } else if (Completion_N != 0) {
                            Completion_N = Completion_N - 1;
                        }
                        //alert(Completion_N);
                        Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
                        Completion_Obj_Show.find("li").eq(Completion_N).find("a").addClass("Completion-guess-list-hover");
                        Completion_Obj.val(Completion_Obj_Show.find("li").eq(Completion_N).find("ul").text());


                        break;
                    case 40:
                        if (Completion_N + 1                             Completion_N = Completion_N + 1;
                        } else if (Completion_N + 1 == Completion_Obj_Show.find("li").length) {
                            Completion_N = 0;
                        }
                        Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
                        Completion_Obj.val(Completion_Obj_Show.find("li").eq(Completion_N).find("ul").text());
                        Completion_Obj_Show.find("li").eq(Completion_N).find("a").addClass("Completion-guess-list-hover");

                        break;
                    default:
                        break;

                }
            });
        }
        //绑定方法
        function Cimpletion_Bind() {
            //是否开启类型判断
            if (Completion_Bool) {
                Completion_Type = Completion_Type_obj.val();
            }
            Completion_Value = Completion_Obj.val();
            Completion_Value = Completion_Value.replace(" ", "");
            //执行验证
            Completion_Verification(Completion_Value);
            if (Completion_Value.length > 1) {
                //得到数据 构造HTML
                Completion_Data_Bind();
            } else {
                Completion_Obj_Show.hide();
            }
        }
        //验证
        function Completion_Verification(obj) {
            if (obj == "" || obj == null || obj == undefined) {
                return false;
            }
        }
        //执行AJAX请求 得到数据
        function Completion_Data_Bind() {
            $.ajax({
                url: Completion_Data_Url,
                data: { CompletionValue: Completion_Value, CompletionCount: Completion_Count, CompletionType: Completion_Type },
                type: "post",
                dataType: "json",
                success: function (obj) {
                    //构造HTML
                    Completion_Add_Html(obj);
                }
            });
        }
        //选中
        function Completion_Selected(obj) {
            Completion_Obj.val(obj.find("ul").text());
            Completion_Obj_Show.hide();
        }
        //构造内容
        function Completion_Add_Html(obj) {
            var data = obj.Completion_Data;
            //执行验证
            Completion_Verification(data);
            var ComPletion_Li = "";
            if (data != null && data != undefined) {
                for (var i = 0; i                     //执行验证是否为空
                    var dr = data[i];
                    Completion_Verification(dr);
                    var ComPletionName = dr.ComPletion_Name;

                    ComPletionName = ComPletionName.replace(Completion_Value.toUpperCase(), "" + Completion_Value.toUpperCase() + "");
                    ComPletion_Li += "

  • 约" + dr.ComPletion_Count + "条记录
      " + ComPletionName + "
  • ";
                    }
                    if (ComPletion_Li != "") {
                        var Completion_Html = "
      " + ComPletion_Li + "
    ";
                        Completion_Obj_Html(Completion_Html);
                    } else {
                        Completion_Obj_Show.hide();
                    }
                }
            }
            //mouse
            function MouseHover(obj) {
                Completion_Obj_Show.find("li").mouseover(function () {
                    Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
                    Completion_Obj.val($(this).find("ul").text());
                    Completion_N = Completion_Obj_Show.find("li").index(this);
                });
            }
            //绑定到控件
            function Completion_Obj_Html(html) {
                Completion_Obj_Show.show();
                Completion_Obj_Show.html("")
                Completion_Obj_Show.css({ "width": Completion_Width + 6, "height": Completion_Height, "border-width": "1px", "border-color": "#CCC", "border-top-width": "0px", "border-style": "solid", "position": "relative", "z-index": "100000" });
                Completion_Obj_Show.attr("class", "Completion-guess-list");
                Completion_Obj_Show.html(html);
                Completion_N = -1;
                Completion_Obj_Show.find("li").unbind("click").click(function () {
                    Completion_Selected($(this));
                });
                MouseHover($(this));
                Completion_Obj_Show.click(function (e) {
                    e.stopPropagation();
                })
                Completion_Obj.click(function (e) {
                    Cimpletion_Bind();
                    e.stopPropagation();
                });
                $(document).click(function () {
                    Completion_Obj_Show.hide();
                });
            }
            //加载
            Completion_Loading();
        };
        //默认配置
        $.Completion.DefaultSetting = {
            Completion_Height: null,
            Completion_Data_Url: null,
            Completion_Obj: null,
            Completion_Obj_Show: null,
            Completion_Bool: false,
            Completion_Count: 10,
            Completion_Type_obj: null,
            Completion_ClickCall: null
        };

    })(jQuery);

    复制代码 代码如下:

    body
    {
          margin: 0;
        padding: 0;
        }
    .Completion-guess-list ul, li
    {
        margin: 0;
        padding: 0;
        list-style:none;
    }
    .Completion-guess-list
    {
        overflow: auto;
        font-size: 12px;
        line-height: 180%;
        background: #fff;
    }
    .Completion-guess-list a
    {
        color: #555;
        text-decoration: none;
        display: block;
        padding: 1px 6px;
        overflow: hidden;
        white-space: nowrap;
        font-family:Verdana,arial;
    }
    .Completion-guess-list a .c-total{float:right;color:green;}
    .Completion-guess-list a:hover,.Completion-guess-list a.Completion-guess-list-hover
    {
        background: #3399ff;
        color: #fff;
    }
    .Completion-guess-list a:hover span.c-total,.Completion-guess-list a.Completion-guess-list-hover span.c-total{color:#fff;}
    .Completion-guess-list .c-hover{font-weight:700;}

    复制代码 代码如下:

    $.Completion({ Completion_Obj: $("#Input_Html"), Completion_Data_Url: "/CompletionHandler.ashx", Completion_Height: "auto", Completion_Obj_Show: $("#show"), Completion_Bool: true, Completion_Type_obj: $("#Type"), Completion_ClickCall: function () { alert(1); }, Completion_Length: 0 });
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    4 Il y a quelques semaines By DDD
    Musée à deux points: toutes les expositions et où les trouver
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Développement PHP : comment implémenter des invites de mots clés de recherche et des fonctions de complétion automatique Développement PHP : comment implémenter des invites de mots clés de recherche et des fonctions de complétion automatique Sep 21, 2023 pm 01:01 PM

    Développement PHP : implémentation d'invites de mots clés de recherche et de fonctions de complétion automatique À l'ère d'Internet d'aujourd'hui, les moteurs de recherche sont devenus l'un des canaux importants permettant aux utilisateurs d'obtenir des informations. Dans le développement de sites Web, l’importance de la fonction de recherche va de soi. Afin d'améliorer l'expérience utilisateur et les résultats de recherche, la mise en œuvre d'invites de mots clés de recherche et de fonctions de complétion automatique est une tâche de développement très précieuse et nécessaire. Cet article présentera comment implémenter des invites de mots clés de recherche et des fonctions de complétion automatique dans le développement PHP, et fournira des exemples de code spécifiques. Les invites de recherche par mot clé font référence au

    Comment utiliser Vue et Element-UI pour implémenter la fonction d'auto-complétion Comment utiliser Vue et Element-UI pour implémenter la fonction d'auto-complétion Jul 21, 2023 pm 02:53 PM

    Présentation de la façon d'utiliser Vue et Element-UI pour implémenter la fonction d'auto-complétion : L'auto-complétion est une fonction très pratique qui peut fournir des options d'achèvement pertinentes basées sur la saisie de l'utilisateur et améliorer l'expérience utilisateur. Dans le framework Vue, combiné à la bibliothèque de composants Element-UI, il devient très simple d'implémenter la fonction de complétion automatique. Cet article expliquera comment utiliser Vue et Element-UI pour implémenter cette fonction et donnera des exemples de code correspondants. Étape 1 : Créez un projet Vue et introduisez la bibliothèque Element-UI.

    Recommander plusieurs éditeurs puissants en langage C Recommander plusieurs éditeurs puissants en langage C Feb 19, 2024 pm 01:40 PM

    Dans le domaine de la programmation informatique, le langage C a toujours été privilégié par les développeurs pour sa simplicité et son efficacité. Pour améliorer l’efficacité de la programmation en langage C, il est très important de choisir un bon éditeur en langage C. Cet article présentera plusieurs éditeurs puissants en langage C pour aider les développeurs à mieux programmer en langage C. VisualStudioCodeVisualStudioCode (VSCode en abrégé) est un éditeur multiplateforme gratuit, open source, développé par Microsoft. Il prend en charge plusieurs langues

    Invites d'annotation et fonctions de saisie semi-automatique dans l'IDE Eclipse Invites d'annotation et fonctions de saisie semi-automatique dans l'IDE Eclipse May 06, 2024 pm 10:36 PM

    Les conseils d'annotation et la saisie semi-automatique dans l'IDE Eclipse simplifient le développement Java : Astuce : passez la souris sur une annotation pour afficher son type, ses paramètres et sa documentation. Saisie semi-automatique : suggère automatiquement des correspondances lorsque vous saisissez des noms d'annotations, y compris des annotations standard et personnalisées. Des cas pratiques démontrent l'application des invites et des fonctions de saisie semi-automatique. Ces fonctionnalités améliorent l’efficacité et la qualité du codage.

    MySQL et Python : comment implémenter la fonction de requête de données MySQL et Python : comment implémenter la fonction de requête de données Jul 31, 2023 pm 01:34 PM

    MySQL et Python : Comment implémenter la fonction de requête de données Ces dernières années, la croissance rapide des données a fait de la requête et de l'analyse des données une tâche importante dans divers domaines. En tant que système de gestion de bases de données relationnelles largement utilisé, MySQL, associé à Python, un langage de programmation puissant, peut fournir des fonctions de requête de données rapides et flexibles. Cet article expliquera comment utiliser MySQL et Python pour implémenter des fonctions de requête de données et fournira des exemples de code. Tout d'abord, nous devons installer et configurer MySQL et Python

    Comment configurer la complétion automatique d'Eclipse Comment configurer la complétion automatique d'Eclipse Jan 25, 2024 pm 01:34 PM

    Étapes pour configurer la saisie semi-automatique d'Eclipse : 1. Activer la saisie semi-automatique ; 2. Configurer les suggestions de saisie semi-automatique ; 3. Personnaliser les suggestions de saisie semi-automatique ; 4. Configurer les touches de raccourci de saisie semi-automatique ; Sauver et fermer. Introduction détaillée : 1. Activez la saisie semi-automatique, sélectionnez Fenêtre -> Préférences dans la barre de menu Eclipse, dans la boîte de dialogue contextuelle, développez l'option Java, sélectionnez Editeur -> Content Assist, etc. dans l'onglet de droite. .

    Comment utiliser JavaScript pour implémenter la fonction d'invite de complétion automatique du contenu de la zone de saisie du formulaire ? Comment utiliser JavaScript pour implémenter la fonction d'invite de complétion automatique du contenu de la zone de saisie du formulaire ? Oct 24, 2023 pm 12:19 PM

    Comment utiliser JavaScript pour réaliser la fonction d'invite de complétion automatique du contenu de la zone de saisie du formulaire ? Avec le développement d'Internet, la fonction d'invite de saisie semi-automatique des zones de saisie de formulaires devient de plus en plus courante. Lorsque les utilisateurs saisissent du contenu, des options de complétion possibles seront fournies en fonction des données existantes pour permettre aux utilisateurs de sélectionner ou de saisir rapidement les informations correctes. Cet article explique comment utiliser JavaScript pour implémenter la fonction d'invite de complétion automatique du contenu de la zone de saisie du formulaire et fournit des exemples de code spécifiques. Première étape : créer la structure HTML. Tout d'abord, nous

    Comment implémenter la fonction de complétion automatique du champ de recherche en PHP Comment implémenter la fonction de complétion automatique du champ de recherche en PHP Mar 07, 2024 am 08:00 AM

    La saisie semi-automatique du champ de recherche est une fonctionnalité Web courante qui améliore l'expérience utilisateur et simplifie le processus de recherche. La fonction d'auto-complétion du champ de recherche en PHP peut être implémentée via des requêtes asynchrones Ajax. La méthode de mise en œuvre spécifique sera présentée ci-dessous, y compris des exemples de code frontal et de code back-end. Exemple de code frontal :

    See all articles