Foros del Web » Programando para Internet » Javascript »

Desabilitar toda la fila de una tabla

Estas en el tema de Desabilitar toda la fila de una tabla en el foro de Javascript en Foros del Web. Hola! Tengo una tabla con un checkbox al final, como hago para que cuando este activo (chuleado, con la flechitam aprovado )la fila este normal ...
  #1 (permalink)  
Antiguo 24/02/2011, 09:11
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Desabilitar toda la fila de una tabla

Hola!


Tengo una tabla con un checkbox al final, como hago para que cuando este activo (chuleado, con la flechitam aprovado )la fila este normal (activa) y cuando el checkbox este sin habilitar (el cuadrito vacio limpio) la fila se desabilite toda??




Gracias!!!

Última edición por Ibiza3; 24/02/2011 a las 09:17
  #2 (permalink)  
Antiguo 24/02/2011, 09:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Desabilitar toda la fila de una tabla

Hola Ibiza3

¿A qué te refieres con estar la fila activa? Hasta donde yo sé, los únicos que pueden estar activados/desactivados son los elementos de un formulario.

Saludos,
  #3 (permalink)  
Antiguo 24/02/2011, 09:31
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Desabilitar toda la fila de una tabla

Claro tenes toda la razon me exprese mal:

<form action="Main.php" method="POST" target ="mainFrame" name="form">
<table id="myTable" border="1" name="myTable">
<tr>
<td></td>
<td>Direccion Ip Origen</td><td>Direccion Ip Destino</td>
<td>Ancho de Banda</td><td>Delay</td><td>Activo</td>
<td></td>
</tr>
<tr id="celda" class="celda" >
<td><input type='text' size="10" name='name' value='<?php echo $_SESSION['username']?>' disabled="disabled" /></td>
<td><input size=15 name="IPini" value="Su Direccion IP" ></td>
<td><input size=15 name="IPfin" value="Direccion IP destino" ></td>
<td><input type="text" name="ancho" value="[bytes por segundo]" ></td>
<td><input type="text" name="delay" value="[milisegundos]"></td>
<td><input type="checkbox" name="status" ></td>
<td><input type="button" value="Delete" disabled="disabled"></td>
</tr>
</table>
<br /><br />
<input type='hidden' name='On' value='On' />
<input type="Submit" id="submit_btn" value="Actualizar Conexiones"/>
</form>


En negrita hay un checkbox, quiero que toda la fila quede disabled al seleccionarlo y vicebersa.
  #4 (permalink)  
Antiguo 24/02/2011, 09:39
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Desabilitar toda la fila de una tabla

se trata de recorrer el nodo (this.parentNode.parentNode.id) esto te da la id del tr contenedor. usa document.getElementById(this.parentNode.parentNode .id).getElementsByTagName('input'). ya tienes la colección de elementos y ahora la recorres con un ciclo for y deshabilitas los controles
  #5 (permalink)  
Antiguo 24/02/2011, 09:56
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Desabilitar toda la fila de una tabla

Bueno olvide mencionar que soy absolutamente nuevo en todo el tema web.


Entiendo que:

document.getElementById(this.parentNode.parentNode .id).getElementsByTagName('input')

Me da la coleccion de los elementos input. Y debo recorrelos cambiando:

document.form.[nombre de cada input].disabled=true;

Pero no se como armar un for que haga eso... Ojala me puedan ayudar...




Gracias!!!
  #6 (permalink)  
Antiguo 24/02/2011, 10:27
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Desabilitar toda la fila de una tabla

Estoy haciendo algo asi:


function check(r){
var celdas=document.getElementById(r.parentNode.parent Node.id).getElementsByTagName('input');
for (var i = 0, total = celdas.length; i < total; i ++)
document.form.celdas[i].disabled=true;
}


Alguna ayuda sugerencia...

Gracias!!!
  #7 (permalink)  
Antiguo 24/02/2011, 14:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Desabilitar toda la fila de una tabla

casi que ya lo tenías
Cita:
<td><input type="checkbox" name="status" onclick="check(this.checked, this);" /></td>


function check(b, el){
var celdas=document.getElementById(el.parentNode.paren tNode.id).getElementsByTagName('input');
for (var i = 0, total = celdas.length; i < total; i ++) {
if (i == 5) continue;
celdas[i].disabled = b? 'disabled' : '';
}
}
  #8 (permalink)  
Antiguo 24/02/2011, 14:33
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Desabilitar toda la fila de una tabla

Obviamente funciona perfecto!!

Mil Gracias Isa!!

Etiquetas: fila, 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 18:59.