使用js实现一个可编辑的select下拉列表


Posted in Javascript onFebruary 20, 2014
<select id="name" name="name" 
onkeydown="clearSelect(this,event);" 
onkeypress="writeSelect(this,event);" style="width:70px;"> 
<option value=""></option> 
<option value="test1">test1</option> 
<option value="test2">test2</option> 
<option value="test3">test3</option> 
</select> <script> 
function clearSelect(obj,e) 
{ 
opt = obj.options[0]; 
opt.selected = "selected"; 
if((e.keyCode== 8) ||(e.charCode==8))//使用退格(backspace)键实现逐字删除的编辑功能 
{ 
opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0); 
opt.text = opt.value; 
} 
if((e.keyCode== 46) ||(e.charCode==46))//使用删除(Delete)键实现逐字删除的编辑功能 
{ 
opt.value = ""; 
opt.text = opt.value; 
} 
//还可以实现其他按键的响应 
} 
function writeSelect(obj,e) 
{ 
opt = obj.options[0]; 
opt.selected = "selected"; 
opt.value += String.fromCharCode(e.charCode||e.keyCode); 
opt.text = opt.value; 
} 
function forbidBackSpace()//为了在IE中,避免backspace的返回上一页功能,和本下拉框的编辑功能冲突,需要禁掉backspace的功能。forbidBackSpace可以写在<body onkeydown="forbidBackSpace();">中。 
{ 
if((event.keyCode == 8) && (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password")) 
{ 
event.keyCode = 0; 
event.returnValue = false; 
} 
} 
</script>
Javascript 相关文章推荐
jquery 双色表格实现代码
Dec 08 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
javascript每日必学之继承
Feb 23 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
jQuery Position方法使用和兼容性
Aug 23 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
深入研究React中setState源码
Nov 17 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
微信小程序实现底部弹出模态框
Nov 18 Javascript
vue3中的组件间通信
Mar 31 Vue.js
js获取指定的cookie的具体实现
Feb 20 #Javascript
js获取和设置属性的方法
Feb 20 #Javascript
js控制浏览器全屏示例代码
Feb 20 #Javascript
JS去掉第一个字符和最后一个字符的实现代码
Feb 20 #Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
Feb 20 #Javascript
JS中数组Array的用法示例介绍
Feb 20 #Javascript
javascript的回调函数应用示例
Feb 20 #Javascript
You might like
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
Python中字符串的处理技巧分享
2016/09/17 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Django 前后台的数据传递的方法
2017/08/08 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
解决python删除文件的权限错误问题
2018/04/24 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python 绘制正态曲线的示例
2020/09/24 Python
Python中Qslider控件实操详解
2021/02/20 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
Weblogic的布署方式
2013/08/23 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
高三英语教学计划
2015/01/23 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python