您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

jquery实现文本框的文本自动补全效果

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了jquery实现文本框的文本自动补全效果,大家参考使用吧

  代码如下: /*文本自动补全 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-