Heim Web-Frontend js-Tutorial 文本框文本自动补全效果示例分享_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 });
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    PHP-Entwicklung: So implementieren Sie Eingabeaufforderungen für Suchbegriffe und automatische Vervollständigungsfunktionen PHP-Entwicklung: So implementieren Sie Eingabeaufforderungen für Suchbegriffe und automatische Vervollständigungsfunktionen Sep 21, 2023 pm 01:01 PM

    PHP-Entwicklung: Implementierung von Eingabeaufforderungen für Suchbegriffe und Funktionen zur automatischen Vervollständigung. Im heutigen Internetzeitalter sind Suchmaschinen zu einem der wichtigsten Kanäle geworden, über die Menschen Informationen erhalten. Bei der Website-Entwicklung liegt die Bedeutung der Suchfunktion auf der Hand. Um das Benutzererlebnis und die Suchergebnisse zu verbessern, ist die Implementierung von Suchbegriff-Eingabeaufforderungen und automatischen Vervollständigungsfunktionen eine sehr wertvolle und notwendige Entwicklungsaufgabe. In diesem Artikel wird erläutert, wie Eingabeaufforderungen für Suchbegriffe und automatische Vervollständigungsfunktionen in der PHP-Entwicklung implementiert werden, und es werden spezifische Codebeispiele bereitgestellt. Eingabeaufforderungen für Suchbegriffe beziehen sich auf die

    So verwenden Sie Vue und Element-UI zur Implementierung der Autovervollständigungsfunktion So verwenden Sie Vue und Element-UI zur Implementierung der Autovervollständigungsfunktion Jul 21, 2023 pm 02:53 PM

    Überblick über die Verwendung von Vue und Element-UI zur Implementierung der Autovervollständigungsfunktion: Die Autovervollständigung ist eine sehr praktische Funktion, die relevante Vervollständigungsoptionen basierend auf Benutzereingaben bereitstellen und die Benutzererfahrung verbessern kann. Im Vue-Framework wird es in Kombination mit der Element-UI-Komponentenbibliothek sehr einfach, die automatische Vervollständigungsfunktion zu implementieren. In diesem Artikel wird die Verwendung von Vue und Element-UI zum Implementieren dieser Funktion vorgestellt und entsprechende Codebeispiele gegeben. Schritt 1: Erstellen Sie ein Vue-Projekt und stellen Sie zunächst die Element-UI-Bibliothek vor.

    Empfehlen Sie mehrere leistungsstarke C-Spracheditoren Empfehlen Sie mehrere leistungsstarke C-Spracheditoren Feb 19, 2024 pm 01:40 PM

    Im Bereich der Computerprogrammierung wurde die Sprache C aufgrund ihrer Einfachheit und Effizienz von Entwicklern schon immer bevorzugt. Um die Effizienz bei der C-Sprachprogrammierung zu verbessern, ist es sehr wichtig, einen guten C-Spracheditor auszuwählen. In diesem Artikel werden mehrere leistungsstarke C-Spracheditoren vorgestellt, die Entwicklern dabei helfen sollen, das Programmieren in C-Sprache zu verbessern. VisualStudioCodeVisualStudioCode (kurz VSCode) ist ein kostenloser, plattformübergreifender Open-Source-Editor, der von Microsoft entwickelt wurde. Es unterstützt mehrere Sprachen

    Anmerkungsaufforderungen und Autovervollständigungsfunktionen in der Eclipse-IDE Anmerkungsaufforderungen und Autovervollständigungsfunktionen in der Eclipse-IDE May 06, 2024 pm 10:36 PM

    Anmerkungshinweise und automatische Vervollständigung in der Eclipse-IDE vereinfachen die Java-Entwicklung: Tipp: Bewegen Sie den Mauszeiger über eine Anmerkung, um deren Typ, Parameter und Dokumentation anzuzeigen. Automatische Vervollständigung: Schlägt automatisch Übereinstimmungen vor, während Sie Anmerkungsnamen eingeben, einschließlich Standard- und benutzerdefinierter Anmerkungen. Praxisbeispiele demonstrieren die Anwendung von Eingabeaufforderungen und Autovervollständigungsfunktionen. Diese Funktionen verbessern die Codierungseffizienz und Codequalität.

    MySQL und Python: So implementieren Sie die Datenabfragefunktion MySQL und Python: So implementieren Sie die Datenabfragefunktion Jul 31, 2023 pm 01:34 PM

    MySQL und Python: So implementieren Sie die Datenabfragefunktion In den letzten Jahren hat das schnelle Datenwachstum die Datenabfrage und -analyse zu einer wichtigen Aufgabe in verschiedenen Bereichen gemacht. Als weit verbreitetes relationales Datenbankverwaltungssystem kann MySQL in Kombination mit Python, einer leistungsstarken Programmiersprache, schnelle und flexible Datenabfragefunktionen bereitstellen. In diesem Artikel wird erläutert, wie Sie mit MySQL und Python Datenabfragefunktionen implementieren und Codebeispiele bereitstellen. Zuerst müssen wir MySQL und Python installieren und konfigurieren

    So richten Sie die automatische Vervollständigung von Eclipse ein So richten Sie die automatische Vervollständigung von Eclipse ein Jan 25, 2024 pm 01:34 PM

    Schritte zum Einrichten der automatischen Vervollständigung: 1. Automatische Vervollständigung aktivieren; 3. Vorschläge für die automatische Vervollständigung anpassen; 5. Andere personalisierte Einstellungen; Speichern und schließen. Ausführliche Einführung: 1. Aktivieren Sie die automatische Vervollständigung, wählen Sie in der Eclipse-Menüleiste „Fenster“ -> „Einstellungen“, erweitern Sie im Popup-Dialogfeld die Option „Java“ und wählen Sie auf der Registerkarte rechts „Editor“ -> „Inhaltshilfe“ usw. aus .

    Wie implementiert man mit JavaScript die Funktion zur automatischen Vervollständigung des Eingabefeldinhalts des Formulars? Wie implementiert man mit JavaScript die Funktion zur automatischen Vervollständigung des Eingabefeldinhalts des Formulars? Oct 24, 2023 pm 12:19 PM

    Wie kann ich mit JavaScript die Funktion zur automatischen Vervollständigung des Eingabefeldinhalts des Formulars realisieren? Mit der Entwicklung des Internets wird die automatische Vervollständigungsfunktion von Formulareingabefeldern immer häufiger verwendet. Wenn Benutzer Inhalte eingeben, werden mögliche Vervollständigungsoptionen basierend auf vorhandenen Daten bereitgestellt, um Benutzern die schnelle Auswahl oder Eingabe der richtigen Informationen zu erleichtern. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript die Aufforderungsfunktion zur automatischen Vervollständigung des Eingabefeldinhalts des Formulars implementieren und spezifische Codebeispiele bereitstellen. Schritt eins: Erstellen Sie die HTML-Struktur. Zuerst erstellen wir

    So implementieren Sie die automatische Vervollständigungsfunktion des Suchfelds in PHP So implementieren Sie die automatische Vervollständigungsfunktion des Suchfelds in PHP Mar 07, 2024 am 08:00 AM

    Die automatische Vervollständigung von Suchfeldern ist eine gängige Webfunktion, die das Benutzererlebnis verbessert und den Suchvorgang vereinfacht. Die Funktion zur automatischen Vervollständigung des Suchfelds in PHP kann durch asynchrone Ajax-Anfragen implementiert werden. Im Folgenden wird die spezifische Implementierungsmethode vorgestellt, einschließlich Front-End-Code- und Back-End-Code-Beispielen. Beispiel für einen Frontend-Code:

    See all articles