Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2008, 11:00
acidcasp
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta como crear un select dinamico??

Hola, tengo un problema, estoy aprendiendo hace poco a usar javascript y navegando por otras paginas ( http://www.desarrolloweb.com/articulos/1490.php ) encontre la forma de poder modificar las opciones de un select al seleccionar la opcion de otro select... pero lo que necesito es que las opciones de ambos select sean obtenidas de mi base de datos. La primera lista desplegable muestra los nombres de los repuestos y la segunda muestra los modelos que hay para cada repuesto.
El codigo resumido es:

Código PHP:
<?php 
require_once('conexion.php');
mysql_select_db($base$conexion);
$consulta "select * from repuestos";
$resultados mysql_query($consulta$conexion) or die(mysql_error());
$filas mysql_fetch_assoc($resultados);
?>
<html>
<body>

 <form action="orden.php" method="post" name="formulario">     

<?
//$codigoSelect= este valor no se como obtenerlo....
$consultaScritp="SELECT * FROM repuestos where repuestos.codigoRepuesto = '$codigoSelect'";
$resultadosScritp mysql_query($consultaScritp$conexion) or die(mysql_error());
$numero mysql_num_rows($resultadosScritp);
$filasScritp mysql_fetch_assoc($resultadosScritp);
$modelos="";
do{
$modelos=$modelos.$filasScritp['modeloRepuesto'].";";}
while(
$filasScritpmysql_fetch_assoc($resultadosScritp));
?>
       
Repuesto
                 <select class="input" name="repuesto" onChange="llenar(this.form,'<? echo $modelos;?>')">
                <option value=''>--</option>
<?
do{
echo 
"<option value='".$filas['codigoRepuesto']."'>".$filas['nombreRepuesto']."</option>";
}
while(
$filasmysql_fetch_assoc($resultados));
?>
              </select>
<br>
Modelo
              <select class="input" name="modelo">
              </select>
</form>
</body>
</html>
Y el script que recibe la lista con los modelos al seleccionar el select repuestos es:

Código:
<script language="javascript">

 function llenar(form,modelos)
{
var modelos1 = new Array();
var modelos2= modelos;   
var listaModelos = modelos2.split(";"); 
var selec = form.repuesto.options;
var combo = form.modelo.options;
combo.length = null;

    if (selec.selectedIndex!="" && selec.selectedIndex >0)
    {
	for (var i = 0; i != listaModelos.length; i++) { 
	var selectModelos= new Option(listaModelos[i],"","","");
	combo[i]=selectModelos;	     
	   }			
    }   
}
</script>
Pero no puedo enviar la lista para llenar el segundo select ya que me falta el valor de $codigoSelect... una forma creo q es usando lo de campos ocultos, enviando el valor del select (selec.selectedIndex), pero cuando hace submit la primera opcion no aparece seleccionada.
Como lo puedo hacer???