使用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>
相关文章
BootStrap下的弹出框加载select2框架失败的解决方法
本文通过简单的代码给大家介绍了BootStrap下的弹出框加载select2框架失败的解决方法,需要的朋友参考下吧2017-08-08
使用TypeScript V8来改进您的JavaScript代码
TypeScript V8是一个强大的JavaScript类型系统,它可以帮助你发现JavaScript代码中的错误和潜在问题,并在编译时捕获它们,以便您可以解决它们,TypeScript V8为JavaScript提供一系列的类型注释,包括自定义类型和其他高级功能2023-08-08


最新评论