Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2012, 15:15
condesitadeirun
 
Fecha de Ingreso: noviembre-2007
Ubicación: Irun
Mensajes: 79
Antigüedad: 17 años
Puntos: 0
Campo Select Dependientes (PHP+Javascript)

Buenas,

Estoy bastante atascada con un formulario de modificación de un registro de la base de datos. Hay dos campos Select ( uno depende del otro).

No consigo cargar que el primer select aparezca SELECTED el valor correcto, y obviamente el segundo select no selecciona el valor correcto...( parte del código es copiado)


Os copio primero el JS

Código Javascript:
Ver original
  1. <script>
  2. function selectAsociado(){
  3. var seccion
  4. seccion = document.frmMod.txtCategoria[document.frmMod.txtCategoria.selectedIndex].value
  5. if (seccion != 0) {
  6. mis_subsecc=eval("secc_sub" + seccion)
  7. num_seccisub = mis_subsecc.length
  8. document.frmMod.txtTipo.length = num_seccisub
  9. for(i=0;i<num_seccisub;i++){
  10. document.frmMod.txtTipo.options[i].value=mis_subsecc[i]
  11. document.frmMod.txtTipo.options[i].text=mis_subsecc[i]
  12. }
  13. }else{
  14. document.frmMod.txtTipo.length = 1
  15. document.frmMod.txtTipo.options[0].value = "-"
  16. document.frmMod.txtTipo.options[0].text = "-"
  17. }
  18. document.frmMod.txtTipo.options[0].selected = true
  19. }  
  20. </script>

Y ahora el PHP

Código PHP:
Ver original
  1. echo "<script>";
  2. $result = mysql_query("SELECT txtCategoria FROM categoria",$conexion);
  3. while($row = mysql_fetch_array($result)) {
  4. echo "var secc_sub".$row[txtCategoria]."= new Array('---'";
  5. $result2 = mysql_query("SELECT txtTipo FROM tipo WHERE txtCategoria = '$row[txtCategoria]'");
  6. while($row2 = mysql_fetch_array($result2)) {
  7. echo ", '$row2[txtTipo]'";
  8. }
  9. echo ")\n";
  10. }
  11. echo "</script>";
  12.  
  13.  
  14. echo "<form name='frmMod'>
  15. <table>
  16. <tr>
  17. <td>Categoria:</td>
  18. <td> ";
  19. echo  "<form enctype='multipart/form-data' name='frmModificar' action='modificar3.php' method='POST'>";
  20. echo "<select name='txtCategoria' onchange='selectAsociado()'>";
  21. $id=16;
  22. $consulta="SELECT * FROM  anuncio WHERE id='$id'";
  23. $hacerConsulta=mysql_query($consulta,$conexion);
  24. while ($linea = mysql_fetch_array($hacerConsulta))
  25. {
  26. $query1 = "SELECT txtCategoria FROM categoria";
  27. $result1 = mysql_query($query1,$conexion);
  28. while ($rows1 = mysql_fetch_array($result1)){
  29. echo "<option value='{$rows1[0]}'";
  30. if ($rows["txtCategoria"] == $rows1[0])
  31.     if ($rows1["txtCategoria"]==$linea['categoria'])
  32.     {
  33.     echo "selected>"; }
  34.    
  35.     echo $rows1[1].">".$rows['txtCategoria'];
  36.     echo $rows1[0]."</option>";
  37. }
  38. mysql_free_result($result1);
  39. echo "</select>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td>Tipo:</td>
  44. <td>
  45. <select name='txtTipo'>
  46. </td>
  47. </tr>
  48. </table>
  49. </form>";