|
代碼
復(fù)制代碼 代碼如下:
var xmlHttp;
function createXmlHttpRequest()
{
if(window.ActieveXObject)
{
xmlHttp=new ActieveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
如果不用Jquery手寫Javascript,上面要改成XmlHttpRequest對(duì)象池,這就不寫了。
.觸發(fā)AutoComplete函數(shù)
代碼
復(fù)制代碼 代碼如下:
function $E(argument)
{
return document.getElementById(argument);
}
function GetInfo(e)
{
var input=$E("Text1").value;
if(input.length<=0)
{
changeDisplay();
}
else
{
createXmlHttpRequest();
var keyword=e.value;
xmlHttp.onreadystatechange=readyStateChangeHandle;
var url="AutoComplete.ashx?keyword="+keyword+"&timeStamp="+new Date().getTime();
xmlHttp.open("GET",url,true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
xmlHttp.send(null);
}
}
這里服務(wù)器后臺(tái)是在.NET平臺(tái)下的xxx.ashx一般處理程序響應(yīng)客戶端得請(qǐng)求,當(dāng)然也可以用webserviece或者ASPx.cs或WCF來響應(yīng)客戶端得請(qǐng)求,但是需要注意的是webservice響應(yīng)客戶端必須遵循遵循soap協(xié)議(當(dāng)然也可以通過修改配置文件讓webservice響應(yīng)get或post請(qǐng)求),xxx.ashx和ASPx.cs響應(yīng)客戶端要遵循h(huán)ttp協(xié)議。當(dāng)然后臺(tái)也可以php或Java等。
.鼠標(biāo)move變色
復(fù)制代碼 代碼如下:
function changecolor(event)
{
event.style.background="#00FFFF";
}
function changebackcolor(event)
{
event.style.background="#FFFFFF"
}
.選區(qū)隱藏與出現(xiàn)
代碼
復(fù)制代碼 代碼如下:
function ChangeDivDisplay(e)
{
document.getElementById("Text1").value=e.firstChild.data;
var html="";
document.getElementById("searchResult").innerHTML=html;
document.getElementById("searchResult").style.visibility="hidden";
}
function changeDisplay()
{
var html="";
document.getElementById("searchResult").innerHTML=html;
document.getElementById("searchResult").style.visibility="hidden";
}
.回調(diào)函數(shù)
代碼
復(fù)制代碼 代碼如下:
function readyStateChangeHandle()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText!="]")
{
var resultDiv=$E("searchResult");
var josnStr=eval('('+xmlHttp.responseText+')');
var html="";
for (var key in josnStr)
{
html+= "<span onmousemove=/"changecolor(this)/" onclick=/"ChangeDivDisplay(this)/" onmouseout=/"changebackcolor(this)/" style=/"width: 195px; text-align: left; background-color: #FFFFFF; display: block; cursor: default;/">"+josnStr[key].bookName +"<span style=/" color: #008000; float: right;/">"+josnStr[key].bookCount+"本書</span></span>";
}
html+= "<span style=/" width: 195px; background-color: #FFFFFF; display: block;/"><a href=/"Javascript:changeDisplay()/" style=/"float: right;/">關(guān)閉</a></span>";
resultDiv.innerHTML=html;
document.getElementById("searchResult").style.visibility="visible";
}
else
{
changeDisplay();
}
}
}
}
這里我用的是json,當(dāng)然也可以用XML或者字符串。
JavaScript技術(shù):十分鐘打造AutoComplete自動(dòng)完成效果代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。