JS實現(xiàn)關(guān)鍵字搜索時的相關(guān)下拉字段效果
更新時間:2014年08月05日 08:53:37 投稿:whsnow
關(guān)鍵字搜索時有下拉字段,在使用百度時會遇到,本例講述用js實現(xiàn)類似的效果
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>Hello World</title>
<link href="style.css" rel="external nofollow" rel="stylesheet" type="text/css">
<script type="text/javascript">
sources= new Array("www.sina.com","www.baidu.com","www.google.com","www.sina.org","www.baidu.ogr.cn");
tabinfo = "";
flag = new Array(sources.length);
for(var i=0;i<flag.length;i++)
flag[i] = false ;
function immediately(){
var element = document.getElementById("i1");
if("\v"=="v") {
element.onpropertychange = webChange;
}else{
element.addEventListener("input",webChange,false);
}
function webChange(){
var tab = document.all("dl1");
for(var i=0;i<flag.length;i++)
flag[i] = false ;//重新初始化
if(element.value){
var content = document.getElementById("i1").value;
for(var i = 0 ;i < sources.length ; i ++){
if(sources[i].indexOf(content) != -1){
flag[i] = true;
}
}
for(var j=0;j<flag.length;j++){
if(flag[j]){//sources[j]有與文本框文字相同的內(nèi)容
if(tab.rows.length>0){
for(var k=0;k<tab.rows.length;k++)
if(tab.rows[k].cells[0].innerText.indexOf(content) == -1)
tab.deleteRow(k);
}
for(var k=0;k<tab.rows.length;k++){
tabinfo += tab.rows[k].cells[0].innerText;
}
if(tabinfo.indexOf(sources[j]) == -1){
nrow = tab.insertRow(0);
newcell = nrow.insertCell();
newcell.innerHTML = sources[j]
}
tabinfo = "";
}
}
}
}
}
</script>
<script language="javascript">
var lastObj=null;
function backBlack(){
event.srcElement.style.background="gray";
forceBackC6();
if(event.srcElement.tagName=="TD"){
lastObj=event.srcElement;
}
fillData();
}
function backC6(){
event.srcElement.style.background="#CCCCCC";
}
function forceBackC6(){
if(lastObj!=null)
lastObj.style.background="#F8F8FF";
}
function fillData(){
if(lastObj.innerHTML!=null)
document.all.i1.value=lastObj.innerHTML;
}
function init(){
Layer1.style.top=i1.offsetTop+40;
Layer1.style.left=i1.offsetLeft;
Layer1.style.visibility="visible";
}
function hideBelow(){
Layer1.style.visibility="hidden";
}
</script>
</head>
<body>
<input type="text" id="i1" style="height:20px" onFocus="init()" onBlur="hideBelow()" />
<script type="text/javascript">
immediately();
</script>
<div id="Layer1">
<table id="dl1" class="midHead" cellspacing="0" onMouseOut="backC6()" onMouseOver="backBlack()" border="0" >
</table>
</div>
<br>
</body>
</html>
您可能感興趣的文章:
- JavaScript簡單實現(xiàn)關(guān)鍵字文本搜索高亮顯示功能示例
- javascript、php關(guān)鍵字搜索函數(shù)的使用方法
- JavaScript正則方法replace實現(xiàn)搜索關(guān)鍵字高亮顯示
- angularjs實現(xiàn)搜索的關(guān)鍵字在正文中高亮出來
- Angularjs實現(xiàn)搜索關(guān)鍵字高亮顯示效果
- js實現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- 用JS將搜索的關(guān)鍵字高亮顯示實現(xiàn)代碼
- JQuery+JS實現(xiàn)仿百度搜索結(jié)果中關(guān)鍵字變色效果
- javascript 自動標(biāo)記來自搜索結(jié)果頁的關(guān)鍵字
- JS實現(xiàn)百度搜索框關(guān)鍵字推薦
相關(guān)文章
IE8中使用javascript動態(tài)加載CSS的解決方法
這篇文章主要介紹了IE8中使用javascript動態(tài)加載CSS的解決方法,此方法也不是很完美,需要的朋友參考下吧2014-06-06
javascript實現(xiàn)富文本框選中對齊的思路與代碼
最近在項目中經(jīng)常遇到使用富文本框的情況,下面這篇文章主要給大家介紹了關(guān)于javascript實現(xiàn)富文本框選中對齊的思路與代碼,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
js實現(xiàn)TAB切換對應(yīng)不同顏色的代碼
這篇文章主要介紹了js實現(xiàn)TAB切換對應(yīng)不同顏色的代碼,涉及javascript頁面元素的遍歷及樣式的動態(tài)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
javascript showModalDialog模態(tài)對話框使用說明
使用javascript打開模態(tài)對話框,想學(xué)習(xí)showModalDialog使用方法的朋友可以參考下。2009-12-12
Jquery Autocomplete 結(jié)合asp.net使用要點(diǎn)
Jquery的Autocomplete是一個很好的智能提示插件,但是在實際使用過程中還是會遇到一些小問題.2010-10-10

