Foros del Web » Programando para Internet » Javascript »

filtrar select

Estas en el tema de filtrar select en el foro de Javascript en Foros del Web. hola a todos tengo un select de la siguiente forma Código: <SELECT NAME="remitente"> <OPTION VALUE="" SELECTED></option> <? $consulta3 = "select * from remitentes"; $resultado3=$conexion->ejecuta_consulta($consulta3); if ...
  #1 (permalink)  
Antiguo 28/11/2007, 09:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 18 años, 1 mes
Puntos: 1
filtrar select

hola a todos

tengo un select de la siguiente forma

Código:
<SELECT NAME="remitente">
							<OPTION VALUE="" SELECTED></option>						
							<?
							$consulta3 = "select * from remitentes";
							$resultado3=$conexion->ejecuta_consulta($consulta3);
							if ($resultado3)
							{
								$filas=count($resultado3);
								$k=0;
								for ($i=0;$i<$filas;$i++)
								{
									?>
									<option value="<?=$resultado3[$i][cedula];?>"><?echo $resultado3[$i][nombre];?></option>
									<?
								}
							}
							?>
				  </SELECT>
me funciona perfecto, lo unico que necesito saber es si hay alguna forma de que el usuario al oprimir una tecla el resultado del select se pueda filtrar para solo los que tengan esa letra al inicio. ejemplo si el usuario oprime "m" se muestre en el select solo los nombres que empiezen por m.

gracias por su ayuda.
  #2 (permalink)  
Antiguo 28/11/2007, 10:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: filtrar select

Hola mancemo

Prueba este ejemplo:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
filtrar(obj) {
  
sel obj.form.sele;
  for (
i=0opt sel.options[i]; i++) {
    
txt opt.text;
    
opt.style.display = (txt.indexOf(obj.value) == 0) ? 'block' 'none';
  }
  
// seleccionar primer item visible
  
for (i=0opt sel.options[i]; i++) 
    if (
opt.style.display=='block') {
      
sel.selectedIndex=i;
      break;
    }

}
</script>
</head>
<body>
<form>
<input type="text" onkeyup = "filtrar(this)" />
<select name="sele">
<option>mas</option>
<option>otras</option>
<option>menos</option>
<option>opera</option>
</select>
</form>
</body>
</html> 
Saludos,

Última edición por JavierB; 28/11/2007 a las 10:42
  #3 (permalink)  
Antiguo 28/11/2007, 13:51
 
Fecha de Ingreso: marzo-2006
Mensajes: 194
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: filtrar select

hola gracias por responder, pero ahora tengo otro apuro

tengo dos select uno en el que capturo de mysql unos datos de la siguiente manera

Código:
<SELECT NAME="area" >
<OPTION VALUE="" SELECTED></option>			
<?
$consulta3 = "select * from departamentos";
$resultado3=$conexion->ejecuta_consulta($consulta3);
if ($resultado3)
{
$filas=count($resultado3);
$k=0;
for ($i=0;$i<$filas;$i++)
{
?>
<option value="<?=$resultado3[$i][id];?>"><?echo $resultado3[$i][nombre];?></option>
<?
}
}
?>
</SELECT>
lo que necesito hacer es que al seleccionar un area cualquiera en el siguiente select se filtren los empleados que correspondan a esa area, el otro selec es

Código:
<SELECT NAME="responsa">
<OPTION VALUE="" SELECTED></option>			
<?
$consulta3 = "select * from usuarios where estado=0";
$resultado3=$conexion->ejecuta_consulta($consulta3);
if ($resultado3)
{
$filas=count($resultado3);
for ($i=0;$i<$filas;$i++)
{
?>
<option value="<?=$resultado3[$i][cedula];?>"><?echo $resultado3[$i][nombre];?></option>
<?
}
}
?>
</SELECT>
gracias por tu ayuda

Última edición por mancemo; 28/11/2007 a las 14:13
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.