Al parecer sí existe. Prueba con el siguiente código y creo que es algo aproximado a la solución
Saludos
Eduardo
Código:
function matchFieldSelect (field, select, value) {
var property = value ? 'value' : 'text';
var found = false;
for (var i = 0; i < select.options.length; i++){
if ((found = select.options[i][property].indexOf(field.value) ==0))
break;
if (found)
select.selectedIndex = i;
else
select.selectedIndex = -1;
if (field.createTextRange) {
var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;"
if (cursorKeys.indexOf(event.keyCode+";") == -1) {
var r1 = field.createTextRange()
var oldValue = r1.text;
var newValue = found ? select.options[i][property] : oldValue;
if (newValue != field.value) {
field.value = newValue
var rNew = field.createTextRange()
rNew.moveStart('character', oldValue.length)
rNew.select()
}
}
}
}
}
<input type="text" name="a" value="" id="buscarNombre" size="25" maxlength="200" onkeyup="matchFieldSelect(this, this.form.b)" />
<select name="b" size="1">
<option value="1">aa</option>
<option value="2">aab</option>
<option value="3">bb</option>
<option value="4">bbc</option>
</select>
Espero que a alguien le sirva
Un gran saludo y un agradecimiento
E.