可编辑下拉框的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 相关文章推荐
javascript string字符串优化问题
Jul 31 Javascript
js replace正则表达式应用案例讲解
Jan 17 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
Dec 12 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
js仿微信公众平台打标签功能
Apr 08 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
详解如何在Vue项目中发送jsonp请求
Oct 25 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 Javascript
解决VueCil代理本地proxytable无效报错404的问题
Nov 07 Javascript
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
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php编写简单的文章发布程序
2015/06/18 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
Python字符编码判断方法分析
2016/07/01 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python绘制中国大陆人口热力图
2018/11/07 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
人民教师求职自荐信
2014/03/12 职场文书
《画》教学反思
2014/04/14 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
JS函数式编程实现XDM一
2022/06/16 Javascript