Я думаю, что это может решить вашу проблему
<html>
<head>
<script type="text/javascript">
function selectvalue(e){
e = e || event;
var key = e.which || e.keyCode;
if(!e.shiftKey && key >= 48 && key <= 57){
var option = this.options[key - 48];
if(option){
option.selected = "selected";
}
}
}
</script>
</head>
<body>
<SELECT id="Box0" name="" onkeypress="selectvalue.apply(this, arguments)">
<OPTION value="1920">my weird description</OPTION>
<OPTION value="1225">other weird description</OPTION>
<OPTION value="3112">some name dynamically fetched</OPTION>
</SELECT>
</body>
</html>
Javascript выглядит немного грязно, потому что он должен обрабатывать IE и все другие браузеры.
IE не передает объект события в функцию-обработчик, вместо этого мы должны использовать объект глобального события.
Аналогичным образом код ключа также сохраняется в keyCode
вместо which
в IE.