Чуть поправил.
<html><head><title>Test</title></head><body>
<input type="text" id="foo" />
<select id="city">
<option>
Москва
</option>
<option>
Санкт-Петербург
</option>
<option>
Новосибирск
</option>
<option>
Красноярск
</option>
<option>
Самара
</option>
<option>
Нижний Новгород
</option>
<option>
Урюпинск
</option>
<option>
Хабаровск
</option>
<option>
Владивосток
</option>
</select>
<script type="text/javascript">
document.getElementById( 'foo' ).onkeypress = function ( e ) {
if ( (e = e || window.event).keyCode !== 8 ) {
var sel = document.getElementById( 'city' ).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>
</body></html>