Ребята, апну тему.
Добавил условие (if (event.keyCode === 38)), что б скрипт работал только тогда, когда нажата клавиша UP (сделано для того, что бы можно было вносить новые значения в БД, ибо без этого условия сделать невозможно - скрипт автоматом подставляет только то, что есть в селекте).
Возникла следущая проблема: регистр символов. Т.е. если вводить "новос.." скрипт не работает. В селекте есессно все названия с большой буквы. Как побороть ?
<script type="text/javascript">
document.getElementById( 'a' ).onkeypress = function ( e ) {
if ( (e = e || window.event).keyCode !== 8 ) {
if (event.keyCode === 38) {
var sel = document.getElementById( 's' ).getElementsByTagName( 'option' ),
city = '', find = 0;
for ( var i = 0; i < sel.length; i++ ) {
if ( this.value.length && sel[i].value.indexOf( this.value ) === 0 ) city = sel[i].value, find++;
}
if ( find === 1 ) this.value = city, e.preventDefault ? e.preventDefault() : (e.returnValue = false);
}
}
}
</script>