Buenas tengo un formulario, en el que quiero insertar dos campos que sean dependientes el uno del otro, en este caso marca y modelo. La cuestión es que he logrado hacer los combos dependientes por medio de java y dos ficheros php externos (combo1 y combo2).
Código PHP:
<script language="javascript" src="../scripts/js/jquery-1.2.6.min.js"></script>
<script language="javascript">
$(document).ready(function(){
// Parametros para e combo1
$("#combo1").change(function () {
$("#combo1 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
$.post("combo1.php", { elegido: elegido }, function(data){
$("#combo2").html(data);
$("#combo3").html("");
});
});
})
// Parametros para el combo2
$("#combo2").change(function () {
$("#combo2 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
$.post("combo2.php", { elegido: elegido }, function(data){
$("#combo3").html(data);
});
});
})
});
</script>
Ahora lo que pretendo es que en el formulario principal, al indicar cuantos vehiculos quiero meter, me genera una linea de formulario para cada uno de esos vehiculos. En dicha línea deben aparecer los combos dependientes.
Código PHP:
<?php
for ($i = 0; $i < $_POST["numnotif"]; $i++)
{?>
<TR>
<TD>
<INPUT type="text" class="INPUT-edit" name="chasis<?php echo $i; ?>" size="20">
</TD>
<TD>
<SELECT name="origen<?php echo $i; ?>">
<?php
$origenes = "SELECT * FROM c_origenes ORDER BY origen ASC";
$array_origenes = mysql_query ($origenes);
while ($rows_origenes = mysql_fetch_array ($array_origenes))
{ echo '<OPTION value="'.$rows_origenes["ori"].'">'.$rows_origenes["origen"].'</OPTION>';
}
?>
</SELECT>
</TD>
<TD>
<SELECT name="tipo<?php echo $i; ?>">
<?php
$tipos = "SELECT tipo FROM c_vehiculos GROUP BY tipo ORDER BY tipo ASC";
$array_tipos = mysql_query ($tipos);
while ($rows_tipos = mysql_fetch_array ($array_tipos))
{ echo '<OPTION value="'.$rows_tipos["tipo"].'">'.$rows_tipos["tipo"].'</OPTION>';
}
?>
</SELECT>
</TD>
<TD>
<SELECT name="marca<?php echo $i; ?>" id="combo1">
<OPTION value=""></OPTION>
<?php
$marcas = "SELECT marca FROM c_vehiculos GROUP BY marca ORDER BY marca ASC";
$array_marcas = mysql_query ($marcas);
while ($rows_marcas = mysql_fetch_array ($array_marcas))
{ echo '<OPTION value="'.$rows_marcas["marca"].'">'.$rows_marcas["marca"].'</OPTION>';
}
?>
</SELECT>
</TD>
<TD>
<SELECT name="modelo<?php echo $i; ?>" id="combo2">
</SELECT>
</TD>
</TR>
<?php } //for ?>
la primera línea funciona, al cambiar combo 1, combo2 carga los datos de la base de datos perfectamente. pero en lineas sucesivas nada de nada. imagino que será por la id de los select dependientes, pero no tengo ni idea de como hacer para que funcione, alguna idea?