首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> WEB开发 >> 正文
ASP实现可输入下拉列表的实现方法
ChinaItLab  2007-10-8  保存本文  佚名  收藏本站


{
 try{
  for (var sumTop=0,sumLeft=0;Obj!=window.document.body;sumTop+=Obj.offsetTop,sumLeft+=Obj.offsetLeft,Obj=Obj.offsetParent);
  return {left:sumLeft,top:sumTop}
 }catch(e){}
}
//处理Div中的选项/* 某个选项,输入框的ID号 */
function divOnmoveover(obj,objText)
{
 var MM_objText=document.getElementById(objText)
 var objChilddiv=obj.parentNode.getElementsByTagName("div")
 for(var x=0;x<objChilddiv.length;x++){objChilddiv[x].style.cssText=’’}
 obj.style.cssText=’background-color: #330066;color: #ffffff;’
 obj.onclick=function(){
  m_intTextSelectIn=false
  if(ie)
  {MM_objText.value=obj.outerText}
  else
  {MM_objText.value=obj.textContent}
  MM_objText.focus()
  MM_objText.blur()
 }
}
function showSelect(obj,A_seleObj)
{
 var ie=(document.getElementById && document.all);
 var objDiv =document.getElementById(m_strTextselectDiv)
 var seleObj =document.getElementById(A_seleObj)
 
 //循环取名,避免取了个重复的ID号
 for(var IDx=0,IDy=’’;obj.id==’’;IDx++,IDy=IDx){
  obj.id=(document.getElementById("textSelect" + IDy)==null)?"textSelect" + IDy:’’
 }
 objDiv.style.left=getPosition(obj).left
 objDiv.style.top=getPosition(obj).top+obj.offsetHeight
 objDiv.style.width=obj.offsetWidth
 objDiv.style.height=’’;
 objDiv.style.overflowY=’’;
 objDiv.innerHTML=’’
 //读取select的项目放到Div里。
 for(var x=0;x<seleObj.options.length;x++)
 {objDiv.innerHTML+="<div onmouseover=\"divOnmoveover(this,’" + obj.id + "’)\" style=’width:100%;white-space: nowrap;cursor: default;’>"+seleObj.options[x].text+"</div>"}
 //调整Div高度,过度显示滚动条
 if(x>8)
 {
  objDiv.style.height=100;
  objDiv.style.overflowY=’auto’;
 }
 objDiv.style.display=’’
 if(ie){HideOverSels(objDiv.id)}
 objDiv.onmouseover=function(){m_intTextSelectIn=true}
 objDiv.onmouseout=function(){m_intTextSelectIn=false;obj.focus();}
 
 obj.onclick=function(){showSelect(obj,A_seleObj);obj.onkeyup();}
 //自动匹配选项中符合条件的记录
 obj.onkeyup=function(){
  if(obj.value==’’){return false}
  var objChilddiv=objDiv.getElementsByTagName("div")
  for(var x=0;x<objChilddiv.length;x++)
  {objChilddiv[x].style.cssText=’’}
  for(var x=0;x<objChilddiv.length;x++)
  {
   var strChilddiv=(ie)?objChilddiv[x].outerText:obj.textContent   if(strChilddiv.substr(0,obj.value.length)==obj.value)
   {
    objDiv.scrollTop=objChilddiv[x].offsetHeight*x
    objChilddiv[x].style.cssText=’background-color: #330066;color: #ffffff;’
    return true
   }
  }
 }
 obj.onblur=function(){if(!m_intTextSelectIn){objDiv.style.display=’none’};if(ie){HideOverSels(objDiv.id)}}
}
// 隐藏被ID为objID的对象(层)遮挡的所有select
function HideOverSels(objID)
{
  var sels = document.getElementsByTagName(’select’); 
  for (var i = 0; i < sels.length; i++) 
  if (Obj1OverObj2(document.getElementById(objID), sels[i]))
 sels[i].style.visibility = ’hidden’; 
    else
    sels[i].style.visibility = ’visible’;
}
//判断obj1是否遮挡了obj2
function Obj1OverObj2(obj1, obj2)
{
var pos1 = getPosition(obj1) 
var pos2 = getPosition(obj2) 
var result = true; 
var obj1Left = pos1.left - window.document.body.scrollLeft; 
var obj1Top = pos1.top - window.document.body.scrollTop; 
var obj1Right = obj1Left + obj1.offsetWidth; 
var obj1Bottom = obj1Top + obj1.offsetHeight;
var obj2Left = pos2.left - window.document.body.scrollLeft; 
var obj2Top = pos2.top - window.document.body.scrollTop; 
var obj2Right = obj2Left + obj2.offsetWidth; 
var obj2Bottom = obj2Top + obj2.offsetHeight;
if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || 
  obj1Left >= obj2Right || obj1Top >= obj2Bottom) 
  result = false; 
return result; 
}

上一页  [1] [2] [3] 下一页

中国IT教育热线咨询
相关文章
ASP连接11种数据库语法总结
如何利用ASP实现邮箱访问
ASP随机数的应用技术
ASP申请单动态添加实现方法及代码
关于ASP中脚本执行顺序的讲解
最新文章
·Ajax光环背后的隐患
·Windows操作系统下JSP程序开发环
·如何在Java程序中实现FTP的上传下
·Java应用:编写高级JavaScript应
·初学者学习java第一步——JDK环境
 文章评论

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·ASP.NET开发中的八个最佳实践09-21
·ASP.NET开发中的验证码技术09-18
·控件开发asp.net处理标签间内容09-18
·程序员成为成为编程高手的二十二条军规09-18
·VS 2005和ASP.NET 2.0中处理CSS样式表09-17
·如何有效监控.NET应用程序09-16
·浅析ASP.NET 2.0 Client Callback09-16
·探讨ASP.NETMVC框架内置AJAX支持编程技术09-15
·ASP.NET2.0的URL映射的实现方法09-13
·Java\.net\PHP比较 程序员眼中的.Net世界09-12
·asp.net中实现观察者设计模式09-12
·谈JSP与XML的交互09-01
·ASP连接11种数据库语法总结09-01
·如何利用ASP实现邮箱访问09-01
·ASP随机数的应用技术09-01
·定时使用DWRUtil.addRow生成表格08-27
·ASP申请单动态添加实现方法及代码08-27
·关于ASP中脚本执行顺序的讲解08-25
·ASP程序实现网页伪静态页源代码08-25
·ASP如何调用webservice08-22
·ASP实例:读取xml文件的程序08-14
·Asp组件检测函数08-11
·Linux系统下让PHP提高性能的工具APC05-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·JSTL中fn表达式的使用说明09-18
·JSP Web框架研究:Struts09-16
·JSF在GlassFish管理控制台中的应用09-12
·介绍JSP程序动态网站环境搭建的详细步骤09-12
·Jsp页面中文参数传递get和post方法分析09-12
·Java\.net\PHP比较 程序员眼中的.Net世界09-11
·JavaScript最常用的55个经典技巧09-08
·Windows操作系统下JSP程序开发环境配置09-03
·JSF点滴积累--权限验证09-03
·小小分页帮助程序08-29
·经验分享全过程JSP程序员完全蜕变手册08-27
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: