La copia del código es la siguiente:
<select id = "name" name = "nombre"
onKeydown = "ClearSelect (este, evento);"
onKeyPress = "WriteSelect (este, evento);">
<opción valor = ""> </opción>
<opción valor = "test1"> test1 </option>
<opción valor = "test2"> test2 </option>
<opción valor = "test3"> test3 </option>
</select>
<script>
función ClearSelect (OBJ, E)
{
opt = obj.options [0];
opt.selected = "seleccionado";
if ((e.keycode == 8) || (e.charcode == 8)) // Use la tecla Backspace para implementar la función de edición literalmente de la deleción literalmente
{
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)) // Use la tecla Delete para lograr la función de edición literal
{
opt.value = "";
opt.text = opt.Value;
}
// También puede darse cuenta de la respuesta de otras claves
}
Función WriteSelect (OBJ, E)
{
opt = obj.options [0];
opt.selected = "seleccionado";
opt.Value += String.FromCharCode (E.CharCode || E.KeyCode);
opt.text = opt.Value;
}
FUNCIÓN FORBIDBACKSPACE () // Para evitar la devolución de Backspace a la función de página anterior y conflicto con la función de edición de este cuadro desplegable En IE, la función Backspace debe desactivarse. ForbidBackSpace se puede escribir en <Body OnKeydown = "ForbidBackSpace ();">.
{
if ((event.keycode == 8) && (event.srcelement.type! = "text" && event.srcelement.type! = "textarea" && event.srcelement! = "contraseña")))
{
event.KeyCode = 0;
event.returnValue = false;
}
}
</script>