Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2012, 15:09
barbikane
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Sonrisa filtrar select con texto

buenas, me gustaría hacer lo mismo que se hace en :
[URL="http://http://www.forosdelweb.com/f13/faqs-javascript-105325/index2.html#post268150"]http://http://www.forosdelweb.com/f13/faqs-javascript-105325/index2.html#post268150[/URL]

pero con el select de esta forma, a ver si me pueden echar una mano.
De php controlo algo,pero de js muy muy poco
Mi código es el siguiente.
El select que deseo filtrar:

<form name="frmIngles" action='acciones.php' method="post">
<select name="selectTermIngles" id="selectTermIngles" onchange="verseleccion1()" size="30" style="width:267px;" onFocus="this.style.width='267px'" onChange="this.style.width='267px'">
<?php
//cojo el array de la bd
$contTerm=controladorTerminos::getInstance();
$terminosArray=$contTerm->getTerminoIngles();
$count = count($terminosArray);
for ($i = 0; $i < $count; $i++) {
echo "<option value='".$terminosArray[$i]->getEntrada()."'>".$terminosArray[$i]->getEntrada()."</option>";

}
?>
</select>
</form>

y aqui donde quiero poner el texto:
<form id="formulario" name="formulario">
<div class="input-container"><input name="busqueda" id="busqueda" onKeyUp="buscar();"/></div>
</form>

¿Cómo sería mi función "buscar()" en js?
Tengo hecho esto de tanto mirar en foros:

<script>
var lista=new Array();
function buscar() {
limpiarLista();
// Obtengo el valor del texto
texto = document.formulario.busqueda.value;
// Creo la expresión regular
expr = new RegExp("^" + texto,"i");
//// Recorro la lista. Si la expresión regular es OK
y = 0;
for (x=0;x<lista.length;x++) {
if (expr.test(lista[x])) {
document.frmIngles.selectTermIngles[y] = new Option(lista[x]);
y++; } } }
function limpiarLista() {
for (x=document.frmIngles.selectTermIngles.length;x>=0 ;x--)
document.frmIngles.selectTermIngles[x] = null; }
</script>

y es en var lista=new Array(), donde tengo que meter mi array $terminosArray[$i]->getEntrada()
que es el que aparece en el select,pero hay me quedo pillado.
Muchas gracias de antemano y saludos.