当前位置:编程学习 > JAVA >>

下拉选项LQuery

最近学习了一下jquery和js的面向对象的写法,写了一个下拉选项,跟大家分享一下。
001 /**
002  * Query下拉选项处理类
003  *
004  * @author  张成轩
005  * @version 1.0
006  * @email  loongzcx@163.com
007  */
008 var LQuery = function() {
009     /* 下拉选项显示内容数组 */
010     this.queryArr = new Array();
011     /* 下拉选项调用对象 */
012     this.queryDoc;
013     /* Query查询标识 */
014     this.queryFlag;
015     /* 其他赋值框对象ID数组 */
016     this.docArr;
017     /* 按键点击事件对象 */
018     this.event;
019     /* 下拉选项显示x坐标 */
020     this.x = 0;
021     /* 下拉选项显示y坐标 */
022     this.y = 0;
023     /* 选项框宽度 */
024     this.width = 150;
025     /* 选项框显示列数 */
026     this.size = 8;
027     /* 是否强制刷新 */
028     this.memory = false;
029     /* 下拉选项显示分隔符 */
030     this.separator = "-";
031     /* Ajax发送连接 */
032     this.sendUrl = "./ajax.html";
033 };
034 
035 LQuery.prototype = {
036     /**
037      * 修改Query默认设置
038      *
039      * @param set
040      *            默认设置对象
041      */
042     set : function(set) {
043         // 设置下拉选项宽度
044         if (set.width != undefined) {
045             this.width = set.width;
046         }
047         // 设置下拉选项框显示列数
048         if (set.size != undefined) {
049             this.size = set.size;
050         }
051         // 设置强制刷新标志
052         if (set.memory != undefined) {
053             this.memory = set.memory;
054         }
055         // 设置下拉选项显示分隔符
056         if (set.separator != undefined) {
057             this.separator = set.separator;
058         }
059     },
060     
061     /**
062      * Query下拉选项调用入口函数,使用ajax获取下拉数据
063      *
064      * @param docArr
065      *            下拉选项调用对象及赋值对象ID数组
066      * @param flag
067      *            Query查询标识
068      * @param event
069      *            按键点击事件,若需要兼容firefox键盘按键处理,需要传入该字段
070      * @param queryArrStr
071      *            指定下拉选项显示信息字符串
072      */
073     show : function(docArr, flag, event, queryArrStr) {
074         // 触发起始时间,用于防止并发
075         this.startTime = new Date();
076         // 按键点击事件对象
077         this.event = event;
078         // 判断是否通过setArr方法设置显示数据
079         if (this.queryArrStr != undefined) {
080             // 设置显示数据字符串
081             queryArrStr = this.queryArrStr;
082             // 清空this中的显示数据字符串,以便再次调用
083             this.queryArrStr = undefined;
084         }
085         // 判断docArr是否为数组
086         if ($.isArray(docArr)) {
087             // 获取docArr第一个元素,并从数组移除第一个元素
088             var doc = docArr.shift();
089         } else {
090             var doc = docArr;
091             // 其他赋值框对象ID数组设置为空
092             docArr = undefined;
093         }
094         // 键盘按键处理
095         if (this.keyUp()) {
096             return;
097         }
098         // 判断是否为同一个触发对象,若默认设置中的memory为true,每次调用都会强制刷新
099         if (doc != this.queryDoc || this.queryArr.length == 0 || this.memory) {
100             // 下拉选项显示内容数组
101             this.queryArr = new Array();
102             // 下拉选项调用对象
103             this.queryDoc = doc;
104             // Query查询标识
105             this.queryFlag = flag;
106             // 其它赋值框对象ID数组
107             this.docArr = docArr;
108        &nbs

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,