Foros del Web » Programando para Internet » Javascript »

cambiar color de celdas con getElementById

Estas en el tema de cambiar color de celdas con getElementById en el foro de Javascript en Foros del Web. tengo una tabla distribuida asi: Código PHP: < table > < tr id = "linea"  bgcolor = "c1c1c1" > < td >< input type = "checkbox"  name ...
  #1 (permalink)  
Antiguo 13/06/2007, 10:40
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
cambiar color de celdas con getElementById

tengo una tabla distribuida asi:

Código PHP:
<table>
<
tr id="linea" bgcolor="c1c1c1">

<
td><input type="checkbox" name="variable" onclick="document.getElementById('linea').bgColor='#ff0000'"></td>
<
td>bla bla bla</td>

</
tr>
</
table
La cual me cambia el color de fondo de la linea sin problema, pero cuando la desmarco el fondo queda, como hago para volver al color de fondo original?
  #2 (permalink)  
Antiguo 13/06/2007, 12:15
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
Re: cambiar color de celdas con getElementById

bueno lo arregle en forma burda pero si alguien tiene una mejor idea se le agradece

use la funcion onclick="cambia_color('lineaX');"

donde en la lineaX cambio el color y cambio las demas en otro color

El problema es si la tabla tiene muchas filas la funcion se vuelve enorme

Código PHP:
function cambia_color(linea){
        
document.getElementById(linea).bgColor='#50bfff';

        if (
linea=='linea1') {
        
document.getElementById('linea2').bgColor='#404a4f';
        
document.getElementById('linea3').bgColor='#404a4f';
        
document.getElementById('linea4').bgColor='#404a4f';
        }
        if (
linea=='linea2') {
        
document.getElementById('linea1').bgColor='#404a4f';
        
document.getElementById('linea3').bgColor='#404a4f';
        
document.getElementById('linea4').bgColor='#404a4f';
        }
        if (
linea=='linea3') {
        
document.getElementById('linea1').bgColor='#404a4f';
        
document.getElementById('linea2').bgColor='#404a4f';
        
document.getElementById('linea4').bgColor='#404a4f';
        }
        if (
linea=='linea4') {
        
document.getElementById('linea1').bgColor='#404a4f';
        
document.getElementById('linea2').bgColor='#404a4f';
        
document.getElementById('linea3').bgColor='#404a4f';
        }

  #3 (permalink)  
Antiguo 13/06/2007, 12:33
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Re: cambiar color de celdas con getElementById

Hola mautik

A ver que te parece este ejemplo:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
cambiar(obj) {
  
tab document.getElementById('tabla');
  for (
i=0ele tab.getElementsByTagName('input')[i]; i++)
    if (
ele!=objele.checked false;
  for (
i=0ele tab.getElementsByTagName('tr')[i]; i++)
    
ele.style.background '#fff';
  if (
obj.checked)
    
obj.parentNode.parentNode.style.background '#f00';
}
</script>
</head>
<body>
<table id="tabla">
<tr>
<td><input type="checkbox" onclick="cambiar(this)" /></td><td>bla, bla, bla...</td>
</tr>
<tr>
<td><input type="checkbox" onclick="cambiar(this)" /></td><td>bla, bla, bla...</td>
</tr>
<tr>
<td><input type="checkbox" onclick="cambiar(this)" /></td><td>bla, bla, bla...</td>
</tr>
</table>
</body>
</html> 
Saludos,
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 02:40.