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 相关文章推荐
仿百度输入框智能提示的js代码
Aug 22 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
Apr 01 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
Thinkjs3新手入门之如何使用静态资源目录
Dec 06 Javascript
微信小程序排坑指南详解
May 23 Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
Aug 17 Javascript
微信小程序实现折线图的示例代码
Jun 07 Javascript
使用typescript构建Vue应用的实现
Aug 26 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环境搭建最新方法
2006/09/05 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
详谈for循环里面的break和continue语句
2017/07/20 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
python操作yaml说明
2020/04/08 Python
用python绘制樱花树
2020/10/09 Python
人事行政主管岗位职责
2013/12/22 职场文书
公司经理聘任书
2014/03/29 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
道歉信怎么写
2015/05/12 职场文书
文艺节目主持词
2015/07/06 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript