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 RadioButtonList获取选中值
Apr 09 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
JavaScript中window.showModalDialog()用法详解
Dec 18 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
Aug 13 Javascript
React key值的作用和使用详解
Aug 23 Javascript
Element Carousel 走马灯的具体实现
Jul 26 Javascript
JavaScript 如何计算文本的行数的实现
Sep 14 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
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
Python脚本实现网卡流量监控
2015/02/14 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
学校食堂采购员岗位职责
2013/12/05 职场文书
市场拓展计划书
2014/05/03 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL