可编辑下拉框的2种实现方式


Posted in Javascript onJune 13, 2014

可编辑下拉框-HTML

<div style="position:relative;"> 
<select style="width:120px;" onchange="document.getElementById('input').value=this.value"> 
<option value="A类">A类</option> 
<option value="B类">B类</option> 
<option value="C类">C类</option> 
<option value="D类">D类</option> 
</select> 
<input id="input" name="input" style="position:absolute;width:99px;height:16px;left:1px;top:2px;border-bottom:0px;border-right:0px;border-left:0px;border-top:0px;"> 
</div>

可编辑下拉框-JS
<html> 
<head> 
<meta name="GENERATOR" content="Microsoft FrontPage 5.0"> 
<meta name="ProgId" content="FrontPage.Editor.Document"> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>可编辑下拉框</title> 
</head> 
<body> 
<table style="border:2px outset;background-color:#d2e8FF" width="250" height="100" align="center"> 
<tr> 
<td width="60%" height="30" align="center"> 
<select name="fason"> 
<option value="可编辑下拉框">可编辑下拉框</option> 
<option value="作者">作者</option> 
</select> 
</td> 
</tr> 
</table> 
<script language="javascript"> 
function combox(obj,select){ 
this.obj=obj 
this.name=select; 
this.select=document.getElementsByName(select)[0]; 
/*要转换的下拉框*/ 
} 
/*初始化对象*/ 
combox.prototype.init=function(){ 
var inputbox="<input name='combox_"+this.name+"' onchange='"+this.obj+".find()' " 
inputbox+="style='position:absolute;width:"+(this.select.offsetWidth-16)+";height:"+this.select.offsetHeight+";left:"+getL(this.select)+";top:"+getT(this.select)+"'>" 
document.write(inputbox) 
with(this.select.style){ 
left=getL(this.select) 
top=getT(this.select) 
position="absolute" 
clip="rect(0 "+(this.select.offsetWidth)+" "+this.select.offsetHeight+" "+(this.select.offsetWidth-18)+")" 
/*切割下拉框*/ 
} 
this.select.onchange=new Function(this.obj+".change()") 
this.change() } 
/*初始化结束*/ 
////////对象事件定义/////// 
combox.prototype.find=function(){ 
/*当搜索到输入框的值时,下拉框自动定位*/ 
var inputbox=document.getElementsByName("combox_"+this.name)[0] 
with(this.select){ 
for(i=0;i<options.length;i++) 
if(options[i].text.indexOf(inputbox.value)==0){ 
selectedIndex=i 
this.change(); 
break; 
} 
} 
} 
combox.prototype.change=function(){ 
/*定义下拉框的onchange事件*/ 
var inputbox=document.getElementsByName("combox_"+this.name)[0] 
inputbox.value=this.select.options[this.select.selectedIndex].text; 
with(inputbox){select();focus()}; 
} 
////////对象事件结束/////// 
/*公用定位函数(获取控件绝对坐标)*/ 
function getL(e){ 
var l=e.offsetLeft; 
while(e=e.offsetParent)l+=e.offsetLeft; 
return l 
} 
function getT(e){ 
var t=e.offsetTop; 
while(e=e.offsetParent)t+=e.offsetTop; 
return t 
} 
/*结束*/ 
</script> 
<script language="javascript"> 
var a=new combox("a","fason") 
a.init() 
</script> 
</body> 
</html>
Javascript 相关文章推荐
js动态设置div的值下例子
Oct 29 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
Apr 23 Javascript
JS 在数组指定位置插入/删除数据的方法
Jan 12 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
Jul 17 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 Javascript
jQuery实现可以扩展的日历
Dec 01 jQuery
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 #Javascript
jquery 新建的元素事件绑定问题解决方案
Jun 12 #Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 #Javascript
jQuery中多个元素的Hover事件解决方案
Jun 12 #Javascript
js获取当前页面的url网址信息
Jun 12 #Javascript
jquery 3D 标签云示例代码
Jun 12 #Javascript
javascript面向对象特性代码实例
Jun 12 #Javascript
You might like
SMARTY学习手记
2007/01/04 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
jQuery 动态酷效果实现总结
2009/12/27 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
Python translator使用实例
2008/09/06 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
总经理秘书工作职责
2013/12/26 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
党员民主生活会材料
2014/12/15 职场文书
教师求职自荐信范文
2015/03/04 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
社区低保工作总结2015
2015/07/23 职场文书
深度学习详解之初试机器学习
2021/04/14 Python