Buenos días,
tengo un problema entre PHP y javascript en un formulario.
Por un lado tengo este array en PHP:
Código PHP:
$proyecto_tarea[$id_proyecto]["nombre"] = nombre_proyecto
$proyecto_tarea[$id_proyecto]["numero"] = código_numérico_del_proyecto
$proyecto_tarea[$id_proyecto]["tarea"][$id_tarea] = nombre_tarea
Este array lo lleno desde mi base de datos y queda algo como esto:
Código PHP:
Array
(
[5] => Array
(
[nombre] => Actividad de formación
[numero] => 005
[tarea] => Array
(
[9] => Curso A
[10] => Curso B
)
)
[6] => Array
(
[nombre] => Permiso
[numero] => 006
[tarea] => Array
(
[11] => Enfermedad
[12] => Mudanza
)
)
[7] => Array
(
[nombre] => Vacaciones
[numero] => 007
[tarea] => Array
(
[13] => Vacaciones
)
)
)
Según el usuario aparecen solamente en mi array anterior sus proyectos, y para cada proyecto sus tareas asociadas.
Mi problema aparece en el formulario que el usuario debe rellenar, quiero que cuando seleccione un proyecto en concreto aparezcan en la siguiente casilla solamente aquellas tareas asignadas a ese proyecto en concreto que ha escogido.
Mi código en PHP/HTML es el siguiente:
Código HTML:
Ver original<form name="FormIntroDatos" ... ...> ... ... ...
<td><select name="proj_1" id="proj_1" " size="1" onChange="mostrar_tarea('proj_1', 'tasc_1');">
<?php
foreach ($proyecto_tarea as $id_proyecto => $datos_proj) {
?>
<option><?php echo $datos_proj["nombre"]." // ".$datos_proj["numero"] ?></option> <?php
}
?>
<td><select name="tasc_1" id="tasc_1" size="1" disabled> <?php
// foreach ($proyecto_tarea as $id_proyecto => $datos_proj) {
// foreach ($datos_proj["tarea"] as $id_tarea => $nombre_tarea) {
?>
<!-- <option><?php echo $nombre_tarea ?></option>
-->
<?php
// }
// }
?>
... ...
Y mi código en javascript es:
Código Javascript
:
Ver originalfunction mostrar_tarea(sel_proyecto, sel_tasc){
var elem_proyecto=document.getElementById(sel_proyecto);
var elem_tasc=document.getElementById(sel_tasc);
elem_tasc.disabled = false;
if (elem_proyecto.value = "Permiso")
elem_tasc.value[1] = "Enfermedad"
elem_tasc.value[2] = "Mudanza"
return(elem_tasc)
}
Pero no funciona... en la casilla de tareas de mi formulario, o bien me aparecen las opciones que tengo en el código PHP/HTML que son todas las tareas para todos los proyectos (ahora están las líneas comentadas). O bien no me sale nada (ya que alguna cosa esta mal en el JavaScript o en otro sitio).
Además, para cada proyecto hay 'n' tareas y no solamente una, así que debería poder devolver des de javascript un array con las tareas del proyecto que el usuario ha escogido.
Muchas gracias!