Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2005, 04:15
smrc2k
 
Fecha de Ingreso: junio-2004
Mensajes: 36
Antigüedad: 20 años, 8 meses
Puntos: 0
Forzar selected en listas dependientes

Hola amigos, tengo dos listas dependientes que cargo con los valores de una base de datos, como podría hacer para que en estas listas, quedase seleccionado el valor que tengo leido desde otra tabla.
el codigo es el siguiente:
...
...
....
echo "
function opcion(oCntrl, iPos, sTxt, sVal){
var campos=sTxt.split('*');
var TVal = campos[0];
var TTxt = campos[1];
var selOpcion=new Option(TTxt, TVal);
eval(oCntrl.options[iPos]=selOpcion);
}


function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < (JSacti[nSelected].length); i++)
opcion(oCntrl, i, JSacti[nSelected][i], String(i));
}

function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i <( JSsector.length); i++){
opcion(oCntrl, i, JSsector[i], String(i));
}
}

</script>\n";

include('formulario_empresas.php');
?>
<script language='JavaScript'>
llena(document.formulario.sector1);
llena(document.formulario.sector2);
llena(document.formulario.sector3);
</script>

dentro del PHP
...
...
<form name="formulario">
...
...
<tr>
<td width="50%" align="center"><select name='sector1' class='piefoto' id ='id_sector1' onChange="cambia(this, document.formulario.activ1)" >
</select> </td>
<td width="78%" align="center"><select name='activ1' class='piefoto' id ='id_activ1'>
</select></td>
</tr>
<tr>
<td width="50%" align="center"><select name='sector2' class='piefoto' id ='id_sector2' onChange="cambia(this, document.formulario.activ2)" >
</select> </td>
<td width="78%" align="center"><select name='activ2' class='piefoto' id ='id_activ2'>
</select></td>
</tr>
<tr>
<td width="50%" align="center"><select name='sector3' class='piefoto' id ='id_sector2' onChange="cambia(this, document.formulario.activ3)" >
</select> </td>
<td width="78%" align="center"><select name='activ3' class='piefoto' id ='id_activ3'>
</select></td>
</tr>
...
...
</form>
tal como está funciona correctamente, pero siempre tengo que volver a seleccionar, ya que queda al inicio del select y desearía poder hacer que los selects se quedasen en los valores que tengo leidos.

Gracias de antemano.