Foros del Web » Programando para Internet » Javascript »

cambiar fondo de la celda segun su valor

Estas en el tema de cambiar fondo de la celda segun su valor en el foro de Javascript en Foros del Web. muy buenas a todos; espero que podais ayudarme con un problema que tengo. El asunto es que me estoy creando un pequeño control domotico para ...
  #1 (permalink)  
Antiguo 04/05/2015, 12:55
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
cambiar fondo de la celda segun su valor

muy buenas a todos;

espero que podais ayudarme con un problema que tengo.
El asunto es que me estoy creando un pequeño control domotico para la calefacción de mi casa y la pagina web me muestra los diferentes estados del sistema a modo de tabla.
El la web recoge los datos que le envia un arduino en formato XML los extrae y los asigna a una celda.
El tema es que quiero que esa celda cambie de color segun su valor
si es ON que el fondo se ponga verde
si es OFF que el fondo se ponga rojo

<!DOCTYPE html>
<html>
<head>


<title>CONTROL CALEFACCIÓN</title>
<script>
function GetArduinoInputs(){
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(this.readyState == 4){
if(this.status == 200){
if(this.responseXML !=null){
//extraemos los datos del XML recibido
document.getElementById("input01").innerHTML = this.responseXML.getElementsByTagName('button01')[0].childNodes[0].nodeValue;
}
}
}
}
request.open("GET", "ajax_inputs_calefa" + nocache, true);
request.send(null);
setTimeout('GetArduinoInputs()', 1000);
}


</script>
</head>
<body background="calefa1.gif" height="250" weight="250" onload="GetArduinoInputs()">
<h1 align="center">Sistema de Calefacción</h1>
<table bgcolor="White" border="2" bordercolor="Black" cellspacing="1">
<tr>
<td colspan="2" align="center"><b>Habitación 1</b></td>
<td colspan="2" align="center"><b>Habitación 2</b></td>
<td colspan="2" align="center"><b>Habitación 3</b></td>
<td colspan="2" align="center"><b>Baño 1</b></td>
<td colspan="2" align="center"><b>Baño 2</b></td>
</tr>
<tr>
<td>estado circuito</td>
<td><span id="input01">...</span></td>//ESTA ES LA CELDA QUE QUIERO QUE CAMBIE DE COLOR SEGUN SU VALOR

la pagina en cuestion es mas extensa pero creo que con esto es suficiente. He mirado por este y otros foros y he visto varios ejemplos pero a la hora de implementarlos no he conseguido nada, solo liarme mas de lo que ya estoy.
Muchas gracias
  #2 (permalink)  
Antiguo 06/05/2015, 11:08
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: cambiar fondo de la celda segun su valor

En la parte

document.getElementById("input01").innerHTML = this.responseXML.getElementsByTagName('button01')[0].childNodes[0].nodeValue;

Debes evaluar el valor de la celda, puede ser algo así:

Código Javascript:
Ver original
  1. //colocamos el valor leído en una variable temporal
  2. var valor= this.responseXML.getElementsByTagName('button01')[0].childNodes[0].nodeValue;
  3.  
  4. if(valor=='ON')//si el valor es ON
  5.    document.getElementById("input01").style.backgroundColor='green';//cambiamos el color a verde
  6. else
  7.    document.getElementById("input01").style.backgroundColor='red';//si no, a rojo
  8.  
  9.  
  10. document.getElementById("input01").innerHTML =valor;//colocamos el valor en la celda.

Etiquetas: ajax, celda, html, input, valor
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 21:09.