當前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > JS實現(xiàn)輸入框自動完成功能

JS實現(xiàn)輸入框自動完成功能

2012/11/12 12:59:34作者:佚名來源:網(wǎng)絡(luò)

移動端

【實例名稱】

JS實現(xiàn)輸入框自動完成功能

【實例描述】

輸入框自動完成是目前比較熱門的一種技術(shù),可利用AjaX技術(shù)實現(xiàn)無刷新提示功能。本例介紹這種技巧的原理。

【實例代碼】

<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>標題頁-學(xué)無憂(denvermotorcycleaccidentlawyer.com)</title> </head> <body> <input onkeyup="showtips();if(event.keyCode==27)hideDiv();" id=txt onkeydown='enterTips()'>(如:ShanDong)<br/> <select id=sel style='display:none' onclick=viewTxt() onkeydown='if(event.keyCode==13)viewTxt()'></select> <script> var city = new Array("Guangdong","Tianjing","Shanghai", "Beijing","ShanDong","Shanxi","Hunan","shangdi"); var city2=new Array("廣東","天津","上海","北京","山東","陜西","湖南","上地"); function showtips(){     obj=event.srcElement;           //獲取操作對象     sel.length=0;                   //列表框的長度     var len=city.length;             //數(shù)組的長度     var re=new RegExp("^"+obj.value,"i") //正則表達式-搜索用戶輸入的值     var j=0     for(i=0;i<len;i++)         if(re.test(city[i])==true){      //如果存在搜索的值             sel.style.display='';       //顯示提示層             sel.add(new Option(city[i],city2[i]));j++} //提示信息     sel.size = (j>1)?j:2; }

function enterTips(){     e=event.keyCode;     if(sel.style.display!='none'){      //如果提示層沒有隱藏     if(e==13) event.srcElement.value=sel.value,sel.style.display='none'; //回車     if(e==40) sel.focus();              //使用下箭頭時,提示層獲得焦點     } } function viewTxt(){     txt.value=sel.value;            //顯示選擇的內(nèi)容     hideDiv()                       //隱藏提示層 } function hideDiv(){     sel.style.display='none';       //隱藏提示層的顯示     txt.focus()                     //文本框獲得焦點 }     document.onclick=function(){    //單擊窗體時,隱藏提示層     hideDiv() } </script> </body> </html>

 

【運行效果】

 輸入框自動完成功能運行效果

【難點剖析】

本例通過一個正則表達式完成了自動提示的功能。首先使用“new RegExp”創(chuàng)建了一個正則表達式“re”,然后使用正則的“test”方法,在現(xiàn)有的文本提示信息中查找匹配正則的數(shù)據(jù)。使用“sel.a(chǎn)dd”方法將搜索出的數(shù)據(jù)添加到列表中,并設(shè)置列表框為可見,這樣就實現(xiàn)了自動提示功能。

【源碼下載】

為了JS代碼的準確性,請點擊:JS實現(xiàn)輸入框自動完成功能 進行本實例源碼下載 

標簽: JS實現(xiàn)  輸入框  自動完成功能