Esta función lo que hace es enviarme en el elemento oculto campo2 el valor elegido del combo
Código:
Y esto lo que hace es mostrar el valor del combo los valores de la base de datos y mostrarlos, el problema está en que cuando seleccionas uno, como va a la función de arriba y hace un submit, se elimina el valor seleccionado.... ¿alguien sabe como podría hacerlo?function datosCombo(){ var variable = document.getElementById('componente'); valor = variable.options[variable.selectedIndex].text; if (variable.selectedIndex!='0'){ var index=document.forms.formulario_combo.componente.selectedIndex; document.getElementById("campo2").value=valor; document.forms.formulario_combo.submit(); }else{ document.getElementById('practica').selectedIndex= '0'; document.getElementById("asignatura").value=''; document.getElementById("alumnos").value=''; document.getElementById("puestos").value=''; } }
Código PHP:
<form name="formulario_combo" >
<?php
$link=mysql_connect("localhost","root","");
mysql_select_db("laboratorio",$link);
$consulta= mysql_query("SELECT Nombre from tiposcomponente");
$numero_registros=mysql_num_rows($consulta);
mysql_close ($link);
?>
<select name="componente" id="componente" onchange="datosCombo()">
<option>Seleccionar </option>
<?php
while ($fila = mysql_fetch_assoc($consulta)) {
if($fila["Nombre"] == $_POST['componente']){
$selected = "selected";
}else{
$selected = "";
} ?>
<option <?php echo $selected; ?>> <?php echo $fila["Nombre"]; ?> </option> <?php
}
?>
</select>
<input type="hidden" name="campo2" id="campo2"/>
</form>
vale ya está :)