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

 更新时间:2014年02月20日 10:05:56   作者:  
这篇文章主要介绍了使用js实现一个可编辑的select下拉列表,个人感觉还不错,需要的朋友可以参考下
复制代码 代码如下:

<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手写Promise核心原理

    JavaScript手写Promise核心原理

    这篇文章主要介绍了JavaScript手写Promise核心原理,promise 可以说是出场率很高的api了,这篇文章手写一版promise,可以加强对promise的认识
    2022-06-06
  • JavaScript实现汉字转换为拼音及缩写的方法示例

    JavaScript实现汉字转换为拼音及缩写的方法示例

    这篇文章主要介绍了JavaScript实现汉字转换为拼音及缩写的方法,结合实例形式分析了javascript数组遍历、转换实现汉字转拼音相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • uni-app 微信小程序授权登录的实现步骤

    uni-app 微信小程序授权登录的实现步骤

    本文主要介绍了uni-app 微信小程序授权登录的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • BootStrap下的弹出框加载select2框架失败的解决方法

    BootStrap下的弹出框加载select2框架失败的解决方法

    本文通过简单的代码给大家介绍了BootStrap下的弹出框加载select2框架失败的解决方法,需要的朋友参考下吧
    2017-08-08
  • JavaScript和jQuery制作光棒效果

    JavaScript和jQuery制作光棒效果

    本文主要介绍了使用javaScript和jQuery制作光棒效果的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 使用TypeScript V8来改进您的JavaScript代码

    使用TypeScript V8来改进您的JavaScript代码

    TypeScript V8是一个强大的JavaScript类型系统,它可以帮助你发现JavaScript代码中的错误和潜在问题,并在编译时捕获它们,以便您可以解决它们,TypeScript V8为JavaScript提供一系列的类型注释,包括自定义类型和其他高级功能
    2023-08-08
  • JavaScript中的数组使用方法详解

    JavaScript中的数组使用方法详解

    JavaScript数组是一种特殊类型的对象,用于存储多个值,数组中的每个值都有一个索引,索引从0开始,数组中的值可以是任何数据类型,包括数字、字符串、布尔值、对象和函数,
    2024-10-10
  • 基于es6三点运算符的使用方法(实例讲解)

    基于es6三点运算符的使用方法(实例讲解)

    下面小编就为大家带来一篇基于三点运算符的使用方法(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 动态修改DOM 里面的 id 属性的弊端分析

    动态修改DOM 里面的 id 属性的弊端分析

    我不知道是否有什么标准规定不允许修改id属性,或者不建议修改id属性,总之IE对此支持不佳。
    2008-09-09
  • 前端大屏开发3种主流适配方案总结

    前端大屏开发3种主流适配方案总结

    这篇文章主要介绍了前端大屏开发3种主流适配方案的相关资料,分别是vwvh方案、scale方案和rem+vwvh方案,每种方案都有其优缺点,可以根据具体需求选择合适的方法,需要的朋友可以参考下
    2025-03-03

最新评论