Foros del Web » Programando para Internet » Javascript »

Select anidados guardar el valor del segundo y tercer select en la tabla

Estas en el tema de Select anidados guardar el valor del segundo y tercer select en la tabla en el foro de Javascript en Foros del Web. Buenas noches ,tardes, dias amigos de foros del web tengo el siguiente problema tengo dos combos anidados a otro principal con java script el problema ...
  #1 (permalink)  
Antiguo 19/02/2011, 15:25
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Select anidados guardar el valor del segundo y tercer select en la tabla

Buenas noches ,tardes, dias amigos de foros del web tengo el siguiente problema tengo dos combos anidados a otro principal con java script el problema que tengo es que al mandar a guardar los datos en la tabla los 3 se guardan con el dato del combo principal este es el codigo gracias

elementos del formulario los 3 combos que se relacionan

Código HTML:
Número de personas
</td>
<td>
<? 
$bd_host = "10.33.143.3"; 
$bd_usuario = "tacopnet_root"; 
$bd_password = "y+y-u*u/"; 
$bd_base = "tacopnet_tacop"; 
$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 
mysql_select_db($bd_base, $con); 
$sql = "SELECT * from cotizador"; 
$rs = mysql_query($sql, $con); 
?> 
 


<select name="nump" id="nump" onChange="componer_Centros(this.value);presta()" style="margin-left:10px;"> 
<option value="">--Seleccione--</option> 
<? if(mysql_num_rows($rs)>0) 
{ 
while($row = mysql_fetch_assoc($rs)) 
{ 
?> 
<option value="<?=$row["id"]?>"><?=$row["nump"]?></option> 
<? 
} 
} 
?> 
</select>
</td>
</tr>
<tr>
<td>
Modelo
</td>
<td>

<select name="modelo" id="modelo" style="margin-left:10px;background:#FFFFFF;"  > 


<option value=""></option> 

</select>
</td>
</tr>
<tr>
<td>
Precio de contado
</td>
<td>

$<select name="precioc" id="precioc"   style="background:#FFFFFF;"> 
<option value=""></option> 
</select>
</td>
</tr> 
funcion en javascript que se llama del select nump
Código Javascript:
Ver original
  1. <script>
  2. function componer_Centros(cod_area)
  3. {
  4.  
  5.  
  6. document.miformulario.modelo.length=0;  
  7. document.miformulario.precioc.length=0;  
  8.  
  9. document.miformulario.modelo.options[0] = new Option("","","defaultSelected","");
  10. document.miformulario.precioc.options[0] = new Option("","","defaultSelected","");
  11. var indice=1;
  12. <?
  13. $sql_depto = "SELECT * from cotizador";
  14. $rs_depto = mysql_query($sql_depto, $con);
  15. if(mysql_num_rows($rs_depto)>0)
  16. {
  17. while($row_depto = mysql_fetch_assoc($rs_depto))
  18. {
  19.  
  20. ?>
  21. if(cod_area=='<?=$row_depto["id"]?>')
  22. {
  23.  
  24. document.miformulario.modelo.options[indice] = new Option("<?=$row_depto["modelo"]?>","<?=$row_depto["id"]?>","defaultSelected","1");
  25. document.miformulario.precioc.options[indice] = new Option("<?=$row_depto["precioc"]?>","<?=$row_depto["id"]?>","defaultSelected","1");
  26.  
  27. indice++;
  28. }
  29. <?
  30. }
  31. }
  32. mysql_close($con);
  33. ?>
  34.  
  35.  
  36. }
  37. </script>
  #2 (permalink)  
Antiguo 21/02/2011, 23:46
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Select anidados guardar el valor del segundo y tercer select en la tabla

bueno viendo otros post similares hice lo siguiente le agrege el .value pero dejo de funcionar la funcion algun experto que me de una ayudada gracias y se los agradecere con Karma


Código Javascript:
Ver original
  1. if(cod_area=='<?=$row_depto["id"]?>')
  2.  
  3. {
  4.  
  5.  
  6.  
  7. document.miformulario.modelo.options[indice].value = new Option("<?=$row_depto["modelo"]?>","<?=$row_depto["id"]?>","defaultSelected","1");
  8.  
  9. document.miformulario.precioc.options[indice].value = new Option("<?=$row_depto["precioc"]?>","<?=$row_depto["id"]?>","defaultSelected","1");
  10.  
  11.  
  12.  
  13. indice++;
  14.  
  15. }
  #3 (permalink)  
Antiguo 22/02/2011, 08:29
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 10
Respuesta: Select anidados guardar el valor del segundo y tercer select en la tabla

Bueno el problema es en <?=$row_depto["id"]?>, lo que pasa es que les estas asignando el mismo value a todos tus nuevos option, te sugiero que te crees otro contador para cada uno de los select's

document.miformulario.modelo.options[indice] = new Option("<?=$row_depto["modelo"]?>","<?=$row_depto["id"]?>","defaultSelected","1");

document.miformulario.precioc.options[indice] = new Option("<?=$row_depto["precioc"]?>","<?=$row_depto["id"]?>","defaultSelected","1");

Saludos!
  #4 (permalink)  
Antiguo 22/02/2011, 10:53
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Select anidados guardar el valor del segundo y tercer select en la tabla

Cita:
Iniciado por omarMusic Ver Mensaje
Bueno el problema es en <?=$row_depto["id"]?>, lo que pasa es que les estas asignando el mismo value a todos tus nuevos option, te sugiero que te crees otro contador para cada uno de los select's

document.miformulario.modelo.options[indice] = new Option("<?=$row_depto["modelo"]?>","<?=$row_depto["id"]?>","defaultSelected","1");

document.miformulario.precioc.options[indice] = new Option("<?=$row_depto["precioc"]?>","<?=$row_depto["id"]?>","defaultSelected","1");

Saludos!
Ok muchas gracias amigo oye y como seria eso bueno lo que pasa que soy nuevo en esto de la programacion bueno por loq ue entiendo debo crear un contador que en este caso es indice por cada select tal y como comentas esto seria dentro del mismo ciclo while e if?
  #5 (permalink)  
Antiguo 22/02/2011, 11:12
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 10
Respuesta: Select anidados guardar el valor del segundo y tercer select en la tabla

Mejor seria q utilizes el contador indice que ya tienes definido en vez de <?=$row_depto["id"]?>; algo asi

document.miformulario.modelo.options[indice] = new Option("<?=$row_depto["modelo"]?>",indice,"defaultSelected","1");

lo mismo para el otro

Saludos!
  #6 (permalink)  
Antiguo 23/02/2011, 16:27
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Select anidados guardar el valor del segundo y tercer select en la tabla

listo mejor lo hice directo con un arreglo y ya despues los envie a guardar a la base de datos gracias omar ya te agrege karma

Etiquetas: anidados, select, tablas
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 22:02.