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 相关文章推荐
jquery实现图片按比例缩放示例
Jul 01 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
浅析AngularJS中的指令
Mar 20 Javascript
限制只能输入数字的实现代码
May 16 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
vue综合组件间的通信详解
Nov 06 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
puppeteer库入门初探
Jan 09 Javascript
js实现拖拽与碰撞检测
Sep 18 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中echo和print的区别
2014/08/28 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
python使用mysql的两种使用方式
2018/03/07 Python
python获取中文字符串长度的方法
2018/11/14 Python
python爬虫之自制英汉字典
2019/06/24 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
师德建设实施方案
2014/03/21 职场文书
户籍证明模板
2014/09/28 职场文书
小学优秀学生评语
2014/12/29 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
Nginx下配置Https证书详细过程
2021/04/01 Servers
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers