Hola Holden.
Disculpa la tardanza, me había olvidado por completo del problema. He hecho el siguiente ejemplo, revísalo y dime si te resuelve o no.
Código PHP:
<html>
<head>
<script language="JavaScript">
function evalua(sOpc, sTxt){
var nRes = 0;
for (var i = 0; i < sTxt.length && i < sOpc.length && sOpc.charAt(i) == sTxt.charAt(i); i++)
nRes++;
return nRes;
}
function cambia(oCntrl){
var txtVal = document.frm.txt.value;
var nAnt = -1;
var nBest = -1;
var nAct;
for (var i = 0; nBest == -1 && i < oCntrl.options.length; i++){
nAct = evalua(oCntrl.options[i].text, txtVal);
if (nAct < nAnt) nBest = i - 1;
nAnt = nAct;
}
oCntrl.selectedIndex = nBest;
}
</script>
</head>
<body onload="cambia(document.frm.lista)">
<form name="frm">
<table border="0">
<tr>
<td>
Ciudad:
</td>
<td>
<input type="text" name="txt" onkeyup="cambia(document.frm.lista)">
</td>
<td>
<select name="lista">
<option value="0">Centro de mesa</option>
<option value="1">Manteles</option>
<option value="2">Mantas</option>
<option value="3">Servilletas</option>
<option value="4">Toallas</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
Saludos.