亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

文本框文本自動補全效果示例分享

2019-11-20 21:13:43
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

/*文本自動補全 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_Obj_Show.find("li").length) {
                            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 < data.length; i++) {
                    //執行驗證是否為空
                    var dr = data[i];
                    Completion_Verification(dr);
                    var ComPletionName = dr.ComPletion_Name;

                    ComPletionName = ComPletionName.replace(Completion_Value.toUpperCase(), "<span class='c-hover'>" + Completion_Value.toUpperCase() + "</span>");
                    ComPletion_Li += "<li><a href='javascript:;'><span class='c-total'>約" + dr.ComPletion_Count + "條記錄</span><ul>" + ComPletionName + "</ul></a></li>";
                }
                if (ComPletion_Li != "") {
                    var Completion_Html = "<ul style='list-style-type:none;'>" + ComPletion_Li + "</ul>";
                    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 });

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美中文字幕在线观看| 亚洲电影第1页| 久久久女人电视剧免费播放下载| 国内精品美女av在线播放| 欧美日本精品在线| 欧美一区二三区| 欧美超级免费视 在线| 欧美专区在线观看| 免费97视频在线精品国自产拍| 国产精品激情av电影在线观看| 欧美日韩精品国产| 亚洲影视九九影院在线观看| 久久影视免费观看| 亚洲精品一区二区在线| 日韩网站免费观看| 不卡av电影院| 欧美激情一级二级| 国模吧一区二区| 欧美激情18p| 91精品国产亚洲| 亚洲精品美女久久久久| 欧美电影免费观看高清| 日韩中文有码在线视频| 国产精品欧美一区二区| 国产不卡一区二区在线播放| 欧洲精品毛片网站| 日韩在线中文视频| 久久精视频免费在线久久完整在线看| 国产精品av在线| 中文字幕在线看视频国产欧美| 黑人巨大精品欧美一区二区免费| 国产午夜精品全部视频在线播放| 日韩av网址在线| 久久免费高清视频| 国产网站欧美日韩免费精品在线观看| 91在线视频导航| 久久av红桃一区二区小说| 日韩精品免费视频| 日本成人免费在线| 国产精自产拍久久久久久蜜| 国产精品永久免费视频| 2020欧美日韩在线视频| 国产精品久久9| 国产亚洲精品久久久优势| 欧美日韩国产激情| 午夜精品一区二区三区在线播放| 91影视免费在线观看| 欧美亚洲国产精品| 亚洲激情 国产| 91精品国产91久久久| 国产精品自拍偷拍| www日韩中文字幕在线看| 亚洲国产高潮在线观看| 亚洲成av人乱码色午夜| 国产剧情日韩欧美| 久久视频在线看| 一道本无吗dⅴd在线播放一区| 黑人欧美xxxx| 韩国视频理论视频久久| 久久久国产精品亚洲一区| 麻豆乱码国产一区二区三区| 亚洲第一区中文99精品| 久久精品国产一区二区三区| 国产91精品久久久久| 亚洲福利在线看| 欧美福利小视频| 91系列在线播放| 久久久久久久999精品视频| 日本久久久久亚洲中字幕| 九九视频这里只有精品| 久久久精品一区| 日韩视频在线免费| 亚洲影视九九影院在线观看| 成人在线中文字幕| 日本亚洲欧美成人| 91情侣偷在线精品国产| www.日韩免费| 日本高清不卡的在线| 欧美黄色片在线观看| 亚洲国产日韩欧美在线动漫| 国产成人久久久| 欧美精品做受xxx性少妇| 91伊人影院在线播放| 97国产精品人人爽人人做| 亚洲美女激情视频| 久久中文字幕一区| 欧美性在线观看| 国产亚洲欧美日韩美女| 国模gogo一区二区大胆私拍| 亚洲最大的av网站| 久久av红桃一区二区小说| 中国china体内裑精亚洲片| 亚洲精品一区av在线播放| 国产主播精品在线| 欧美理论在线观看| 国产精品男人爽免费视频1| 黑人狂躁日本妞一区二区三区| 久久久久久综合网天天| 欧美在线观看视频| 国产精品91久久久| 日韩精品中文在线观看| 欧美在线视频在线播放完整版免费观看| 亚洲精品av在线播放| 国产精品成人观看视频国产奇米| 欧美成人精品在线观看| 久久精品国产电影| www.欧美视频| 亚洲免费伊人电影在线观看av| 日本最新高清不卡中文字幕| 国产欧美最新羞羞视频在线观看| 姬川优奈aav一区二区| 久久视频在线播放| 亚洲三级免费看| 自拍偷拍亚洲在线| 欧美激情免费看| 92看片淫黄大片看国产片| 性欧美xxxx视频在线观看| 国产主播在线一区| 亚洲欧美在线免费观看| 成人久久18免费网站图片| 国产午夜精品全部视频在线播放| 欧美日韩国产专区| 91av视频在线| 米奇精品一区二区三区在线观看| 国产va免费精品高清在线观看| 国产精品日本精品| 久久久久国色av免费观看性色| 欧美激情a∨在线视频播放| 亚洲二区中文字幕| 久久久免费精品| 91精品国产乱码久久久久久久久| 欧美插天视频在线播放| 国产精选久久久久久| 国产在线一区二区三区| 亚洲欧洲国产一区| 久久成人精品一区二区三区| 日韩精品一区二区视频| 久久91亚洲人成电影网站| 欧美电影在线免费观看网站| 中文字幕在线视频日韩| 国产做受69高潮| 这里只有精品丝袜| 97人人爽人人喊人人模波多| 欧美在线日韩在线| 中文字幕亚洲一区二区三区| 91视频8mav| 午夜精品久久久久久99热| 日韩国产欧美精品在线| 亚洲国内精品视频| 久久精品视频一| 国产欧美精品一区二区三区-老狼| 成人在线中文字幕| 亚洲精品久久久久久久久久久久| 国产欧美va欧美va香蕉在线| 成人伊人精品色xxxx视频| 国产精品最新在线观看| 亚洲成色999久久网站| 亚洲人成电影在线观看天堂色| 国产日韩中文在线| 另类图片亚洲另类| 午夜精品一区二区三区在线视| 97精品一区二区三区| 久久精品国产欧美亚洲人人爽| 国产欧美久久一区二区|