JS实现关键字搜索时的相关下拉字段效果


Posted in Javascript onAugust 05, 2014
<!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]有与文本框文字相同的内容 
            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 相关文章推荐
javascript 的Document属性和方法集合
Jan 25 Javascript
asp.net 30分钟掌握无刷新 Repeater
Sep 16 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
Dec 17 Javascript
将查询条件的input、select清空
Jan 14 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
Mar 16 Javascript
jQuery实现新消息在网页标题闪烁提示
Jun 23 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
uniapp实现横向滚动选择日期
Oct 21 Javascript
使用react+redux实现计数器功能及遇到问题
Jun 02 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
Aug 04 #Javascript
JavaScript中的函数重载深入理解
Aug 04 #Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 #Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 #Javascript
js实现正方形颜色从下往上升的效果
Aug 04 #Javascript
与Math.pow 相反的函数使用介绍
Aug 04 #Javascript
简单易用的倒计时js代码
Aug 04 #Javascript
You might like
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
妙用Jquery的val()方法
2012/06/27 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
kali中python版本的切换方法
2019/07/11 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
高中生的自我评价
2014/03/04 职场文书
临床医师个人自我评价
2014/04/06 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
golang中的空接口使用详解
2021/03/30 Python