這篇文章主要介紹了使用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>