zoukankan
html css js c++ java
[原创]搜索智能提示AutoComplate.js
//
-----------Create by sjett 2007-11-19----------------
var
_outTime
=
3000
;
//
setTimeOut(function,outTime);
var
inputObj
=
false
;
//
current input text control
var
setTimeOutId
=
false
;
var
displayDiv
=
false
;
//
display div
function
autoComplate_Init(ObjId)
{
inputObj
=
document.getElementById(ObjId);
_outTime
=
isNaN(parseInt(inputObj.getAttribute(
"
outTime
"
)))
?
_outTime : parseInt(inputObj.getAttribute(
"
outTime
"
));
autoComplate_InitEvent();
//
init input control Event
autoComplate_InitDisplayDiv();
}
function
autoComplate_InitEvent()
{
inputObj.onkeyup
=
autoComplate_ChangeEvent;
//
onchange onpropertychange
inputObj.onblur
=
autoComplate_DisposeEvent;
}
function
autoComplate_InitDisplayDiv()
{
var
divHtml
=
'
<
div id
=
"
autoComplateList
"
></
div
>
';
document.write(divHtml);
displayDiv
=
document.getElementById('autoComplateList');
autoComplate_DisposeEvent();
//
hiddern
displayDiv.style.top
=
(inputObj.offsetTop
+
inputObj.offsetHeight)
+
"
px
"
;
//
top,left
displayDiv.style.left
=
inputObj.offsetLeft
+
"
px
"
;
displayDiv.style.width
=
inputObj.offsetWidth
+
"
px
"
;
//
height,width
}
function
autoComplate_ChangeEvent()
{
if
(inputObj.value
==
'')
{
return
;}
if
(setTimeOutId)
{clearTimeout(setTimeOutId);}
setTimeOutId
=
setTimeout(
function
()
{
//
这里做一些你想在Input控件的事件中处理事务
autoComplate_GetData();
}
, _outTime);
}
function
autoComplate_DisposeEvent()
{
if
(displayDiv)
{
displayDiv.style.visibility
=
'hidden';
displayDiv.style.display
=
'none';
displayDiv.innerHTML
=
'';
//
clear
setTimeOutId
=
false
;
}
}
function
autoComplate_DisplayDivShow()
{
if
(displayDiv)
{
displayDiv.style.visibility
=
'visible';
displayDiv.style.display
=
'block';
setTimeOutId
=
false
;
}
}
function
autoComplate_DisplayDivOnRowOver()
{
eval('
this
.className
=
"
autoComplateList-tr-over
"
');
}
function
autoComplate_DisplayDivOnRowOut()
{
eval('
this
.className
=
"
autoComplateList-tr
"
');
}
function
autoComplate_DisplayDivOnClick()
{
inputObj.value
=
eval('
this
.innerHTML');
autoComplate_DisposeEvent();
//
这里作一些当选中文本后想作的事,比如像google一样提交查询
}
function
autoComplate_DisplayDivSetRowsEvent()
{
for
(
var
index
=
0
; index
<
displayDiv.childNodes.length
-
1
;index
++
)
{
displayDiv.childNodes[index].onmouseover
=
autoComplate_DisplayDivOnRowOver;
displayDiv.childNodes[index].onmouseout
=
autoComplate_DisplayDivOnRowOut;
displayDiv.childNodes[index].onclick
=
autoComplate_DisplayDivOnClick;
}
}
function
autoComplate_GetData()
{
var
ajax
=
new
sack();
ajax.requestFile
=
"
search.aspx?type=4&name=name
"
;
//
请求地址
ajax.onCompletion
=
function
()
{
var
entities
=
ajax.responseXML.getElementsByTagName(
"
entity
"
);
if
(entities.length
<=
0
)
return
;
displayDiv.innerHTML
=
'';
for
(
var
index
=
0
; index
<
entities.length; index
++
)
{
displayDiv.innerHTML
+=
'
<
div class
=
"
autoComplateList-tr
"
>
'
+
entities[index].firstChild.getAttribute(
"
value
"
)
+
'
</
div
>
';
}
//
Close Tag
displayDiv.innerHTML
+=
'
<
div class
=
""
style
=
"
text-align:right;
"
><
a href
=
"
#
"
onclick
=
"
autoComplate_DisposeEvent();
"
>
关闭
</
a
></
div
>
';
//
Add Event
autoComplate_DisplayDivSetRowsEvent();
//
Show
autoComplate_DisplayDivShow();
}
;
ajax.runAJAX();
}
代码示例下载:
https://files.cnblogs.com/sjett/autoComplate.rar
查看全文
相关阅读:
DB2数据库BACKUP PENDING状态(修改日志模式导致)(转)
JAVA调用WebService实例
eclipse启动报JVM terminated. Exit code=-1的解决方法
JAVA使用Dom4j组装、解析XML
任务调度IBM Tivoli Workload Scheduler(TWS)
Java遍历Map数据的几种方式
谈谈我对Log4j2以外的感想
ESQL中添加JMS参数
node.js-node-inspector调试
前端-浏览器内核
原文地址:https://www.cnblogs.com/sjett/p/968026.html
最新文章
程序员的日常之跳槽回忆录
数据库物化视图的创建
今天遇到的Spring-mvc下java后台的奇怪问题
软件开发工作认知
拖拽上传功能
split()方法
sql语句回忆录1-多表连接子查询
Spring框架解析
贵在坚持
判断字符串是否为合法数值
热门文章
用两个栈实现队列
构建一个乘积数组
GIS二次开发之不同类型的数据的打开显示
c#实现打开数据库并进行查询,修改等操作
python中输出一个九九乘法表
VS2012实现简单的加法计算器
通过VS连接SQL SERVER并进行简单的查询功能
梁友栋算法用多边形裁剪线段
Agent端NAS挂载异常
关于DB2表的数据插入
Copyright © 2011-2022 走看看