Necesito hacer lo siguiente:
En el ejemplo, al hacer click en el checkbox que dice "Sonido" se activan los checkbox del area de "Pestaciones de Sonido" (abajo) eso está perfecto, pero por que tengo claro el id de lo que necesito. Pero no activa los <input type="text"/>, eso se hace con los checkbox que acaban de activarse, como pueden probarlo.
Ejemplo:
Pero el asunto es que esa lista de prestaciones que se ve realmente proviene de una tabla en mysql, es decir se hace un query y aparecen pueden ser los que se ven ahi, más o menos...quien sabe como cambien. Entonces debo hacerlo dinámicamente. He probado con lo siguiente.
Código Javascript:
Ver original
function activaItemA(form){ for (var i = 0; i < 15; i++) { if(form.ChkSonido.checked){ document.getElementById('campo'+i).removeAttribute("disabled", 0); } else { document.getElementById('campo'+i).setAttribute("disabled", 0); } }
Código PHP:
function despliegaTablaPrestaciones(){
echo'<html>
<head>
<title>Mantenedor Ejecutores</title>
<link rel="stylesheet" type="text/css" href="css/estilos.css" />
<link rel="stylesheet" type="text/css" href="css/960.css" />
<link rel="stylesheet" type="text/css" href="css/960_24_col.css" />
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/checkes.js"></script>
</head>
<body>
<ul>
<form action="cotizacion.php">
<input type="checkbox" name="chkHabSonido" onclick="activarAudioSonido(this.form)" id="habilitaSonido"/> Sonido
<input type="checkbox" name="chkHabAudio" onclick="activarAudioSonido(this.form)" id="habilitaAudio"/> Audio
<fieldset disabled="disabled" id="prestaAudio">
<legend>
Prestaciones de Audio
</legend>';
crearConexion();
//Prestaciones Audio
$sql = "SELECT id_prestacion,
glosa_prestacion,
id_tipo_prestacion_p,
costo_referencia,
tarifa_referencia
FROM prestaciones WHERE id_tipo_prestacion_p = 1";
$result = mysql_query($sql) or exit(mysql_error());
while($row = mysql_fetch_row($result)){
$i = 0;
$idp = $row[0];
$glosa_prestacion = $row[1];
$id_tipo_prestacion_p = $row[2];
$costo_referencia = $row[3];
$tarifa_referencia = $row[4];
echo'<li><input type="checkbox" name="Chkaudio[]" value="'.$idp.'"/><input type="text" size="2" name="cantGlosa'.$idp.'" id="audioCampo'.$i.'" disabled="disabled"/> '.$glosa_prestacion.'</li>';
}
echo'
</ul>
</fieldset>
<fieldset disabled="disabled" id="prestaSonido">
<legend>
Prestaciones de Audio
</legend>';
//Prestaciones Sonido
$sql2 = "SELECT id_prestacion,
glosa_prestacion,
id_tipo_prestacion_p,
costo_referencia,
tarifa_referencia
FROM prestaciones WHERE id_tipo_prestacion_p = 2";
$result2 = mysql_query($sql2) or exit(mysql_error());
$num = mysql_num_rows($result2);
$cont=0;
for($i = 0; $i< $num; $i++){
$row2 = mysql_fetch_row($result2);
$idp2 = $row2[0];
$glosa_prestacion2 = $row2[1];
$id_tipo_prestacion_p2 = $row2[2];
$costo_referencia2 = $row2[3];
$tarifa_referencia2 = $row2[4];
echo'<li><input type="checkbox" name="ChkSonido[]" id="chkSonido'.$i.'" value="'.$idp2.'" onclick="activaItemA(this.form)"/>
<input type="text" size="2" name="cantGlosa'.$i.'" id="campo'.$i.'" disabled="disabled"/> '.$glosa_prestacion2.'</li>';
$cont++;
}
echo'
</ul>
</fieldset>
</form>
</body>
</html>';
}
Espero sus comentarios,
Gracias de antemano