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 相关文章推荐
ASP小贴士/ASP Tips javascript tips可以当桌面
Dec 10 Javascript
JS中令人发指的valueOf方法介绍
Feb 22 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
Dec 03 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
微信小程序 合法域名校验出错详解及解决办法
Mar 09 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 Javascript
Angular2里获取(input file)上传文件的内容的方法
Sep 05 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
vue实现简单瀑布流布局
May 28 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
Dec 05 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教程 基本语法
2009/10/23 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php生成动态验证码gif图片
2015/10/19 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
Python持续监听文件变化代码实例
2020/07/22 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
外贸业务员的岗位职责
2013/11/23 职场文书
小区门卫工作职责
2013/12/14 职场文书
社团成立邀请函
2014/01/08 职场文书
物理教育专业求职信
2014/06/25 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
Django migrate报错的解决方案
2021/05/20 Python
Pytorch可视化的几种实现方法
2021/06/10 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server