热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle输入自动提示,JSP+ajax实现输入框自动补全功能实例代码

Stringpathrequest.getContextPath();StringbasePathrequest.getScheme():request.getServerNa

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

查找

function mSift_SeekTp(oObj, nDire) {

var nPosition = null;

if (oObj.getBoundingClientRect && !document.all) {

var oDc = document.documentElement;

switch (nDire) {

case 0:

return oObj.getBoundingClientRect().top + oDc.scrollTop;

case 1:

return oObj.getBoundingClientRect().right + oDc.scrollLeft;

case 2:

return oObj.getBoundingClientRect().bottom + oDc.scrollTop;

case 3:

return oObj.getBoundingClientRect().left + oDc.scrollLeft;

}

} else {

if (nDire == 1 || nDire == 3) {

nPosition = oObj.offsetLeft;

} else {

nPosition = oObj.offsetTop;

}

if (arguments[arguments.length - 1] != 0) {

if (nDire == 1) {

nPosition += oObj.offsetWidth;

} else if (nDire == 2) {

nPosition += oObj.offsetHeight;

}

}

if (oObj.offsetParent != null) {

nPosition += mSift_SeekTp(oObj.offsetParent, nDire, 0);

}

return nPosition;

}

}

function mSift(cVarName, nMax) {

this.oo = cVarName;

this.Max = nMax;

}

mSift.prototype = {

Varsion : 'v2010.10.29 by AngusYoung | mrxcool.com',

Target : Object,

TgList : Object,

Listeners : null,

SelIndex : 0,

Data : [],

ReData : [],

Create : function(oObj) {

var _this = this;

var oUL = document.createElement('ul');

oUL.style.display = 'none';

oObj.parentNode.insertBefore(oUL, oObj);

_this.TgList = oUL;

oObj.onkeydown = oObj.onclick = function(e) {

_this.Listen(this, e);

};

oObj.onblur = function() {

setTimeout(function() {

_this.Clear();

}, 100);

};

},

Complete : function() {

},

Select : function() {

var _this = this;

if (_this.ReData.length > 0) {

_this.Target.value = _this.ReData[_this.SelIndex].replace(

/\*/g, '*').replace(/\|/g, '|');

_this.Clear();

}

setTimeout(function() {

_this.Target.focus();

}, 10);

_this.Complete();

},

Listen : function(oObj) {

var _this = this;

_this.Target = oObj;

var e = arguments[arguments.length - 1];

var ev = window.event || e;

switch (ev.keyCode) {

case 9://TAB

return;

case 13://ENTER

_this.Target.blur();

_this.Select();

return;

case 38://UP

_this.SelIndex = _this.SelIndex > 0 ? _this.SelIndex - 1

: _this.ReData.length - 1;

break;

case 40://DOWN

_this.SelIndex &#61; _this.SelIndex <_this.ReData.length - 1 ? _this.SelIndex &#43; 1

: 0;

break;

default:

_this.SelIndex &#61; 0;

}

if (_this.Listeners) {

clearInterval(_this.Listeners);

}

_this.Listeners &#61; setInterval(function() {

_this.Get();

}, 10);

},

Get : function() {

var _this &#61; this;

if (_this.Target.value &#61;&#61; &#39;&#39;) {

_this.Clear();

return;

}

if (_this.Listeners) {

clearInterval(_this.Listeners);

}

;

_this.ReData &#61; [];

var cResult &#61; &#39;&#39;;

for ( var i &#61; 0; i <_this.Data.length; i&#43;&#43;) {

if (_this.Data[i].toLowerCase().indexOf(

_this.Target.value.toLowerCase()) >&#61; 0) {

_this.ReData.push(_this.Data[i]);

if (_this.ReData.length &#61;&#61; _this.Max) {

break;

}

}

}

var cRegPattern &#61; _this.Target.value.replace(/\*/g, &#39;*&#39;);

cRegPattern &#61; cRegPattern.replace(/\|/g, &#39;|&#39;);

cRegPattern &#61; cRegPattern.replace(/\&#43;/g, &#39;\\&#43;&#39;);

cRegPattern &#61; cRegPattern.replace(/\./g, &#39;\\.&#39;);

cRegPattern &#61; cRegPattern.replace(/\?/g, &#39;\\?&#39;);

cRegPattern &#61; cRegPattern.replace(/\^/g, &#39;\\^&#39;);

cRegPattern &#61; cRegPattern.replace(/\$/g, &#39;\\$&#39;);

cRegPattern &#61; cRegPattern.replace(/\(/g, &#39;\\(&#39;);

cRegPattern &#61; cRegPattern.replace(/\)/g, &#39;\\)&#39;);

cRegPattern &#61; cRegPattern.replace(/\[/g, &#39;\\[&#39;);

cRegPattern &#61; cRegPattern.replace(/\]/g, &#39;\\]&#39;);

cRegPattern &#61; cRegPattern.replace(/\\/g, &#39;\\\\&#39;);

var cRegEx &#61; new RegExp(cRegPattern, &#39;i&#39;);

for ( var i &#61; 0; i <_this.ReData.length; i&#43;&#43;) {

if (_this.Target.value.indexOf(&#39;*&#39;) >&#61; 0) {

_this.ReData[i] &#61; _this.ReData[i].replace(/\*/g, &#39;*&#39;);

}

if (_this.Target.value.indexOf(&#39;|&#39;) >&#61; 0) {

_this.ReData[i] &#61; _this.ReData[i].replace(/\|/g, &#39;|&#39;);

}

cResult &#43;&#61; &#39;

&#39;

&#43; _this.ReData[i]

.replace(

cRegEx,

function(s) {

return &#39;&#39;

&#43; s &#43; &#39;&#39;;

});

&#43;&#39;

&#39;;

}

if (cResult &#61;&#61; &#39;&#39;) {

_this.Clear();

} else {

_this.TgList.innerHTML &#61; cResult;

_this.TgList.style.cssText &#61; &#39;display:block;position:absolute;background:#fff;border:#090 solid 1px;margin:-1px 0 0;padding: 5px;list-style:none;font-size:12px;&#39;;

_this.TgList.style.top &#61; mSift_SeekTp(_this.Target, 2) &#43; &#39;px&#39;;

_this.TgList.style.left &#61; mSift_SeekTp(_this.Target, 3) &#43; &#39;px&#39;;

_this.TgList.style.width &#61; _this.Target.offsetWidth - 12 &#43; &#39;px&#39;;

}

var oLi &#61; _this.TgList.getElementsByTagName(&#39;li&#39;);

if (oLi.length > 0) {

oLi[_this.SelIndex].style.cssText &#61; &#39;background:#36c;padding:0 5px;line-height:20px;cursor:default;color:#fff;&#39;;

}

},

ChangeOn : function(oObj) {

var oLi &#61; this.TgList.getElementsByTagName(&#39;li&#39;);

for ( var i &#61; 0; i

oLi[i].style.cssText &#61; &#39;padding:0 5px;line-height:20px;cursor:default;&#39;;

}

oObj.style.cssText &#61; &#39;background:#36c;padding:0 5px;line-height:20px;cursor:default;color:#fff;&#39;;

},

Clear : function() {

var _this &#61; this;

if (_this.TgList) {

_this.TgList.style.display &#61; &#39;none&#39;;

_this.ReData &#61; [];

_this.SelIndex &#61; 0;

}

}

}

//建立实例&#xff0c;第一个参数是实例对象的名称&#xff0c;第二个是最多显示的数量

var oo &#61; new mSift(&#39;oo&#39;, 20);

//获取数据

function loadXMLDoc(str) {

var xmlhttp;

if (window.XMLHttpRequest) {// code for IE7&#43;, Firefox, Chrome, Opera, Safari

xmlhttp &#61; new XMLHttpRequest();

} else {// code for IE6, IE5

xmlhttp &#61; new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange &#61; function() {

if (xmlhttp.readyState &#61;&#61; 4 && xmlhttp.status &#61;&#61; 200) {

oo.Data &#61; xmlhttp.responseText.split("|");

}

};

xmlhttp.open("GET", "AjaxServlet?name&#61;"&#43;str, true);

xmlhttp.send();

}

//指定文本框对象建立特效

oo.Create(document.getElementById(&#39;abc&#39;));



推荐阅读
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
author-avatar
琳琳小朋友m
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有