Ver Mensaje Individual
  #12 (permalink)  
Antiguo 02/03/2008, 08:27
crujikoki
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 5 meses
Puntos: 8
Re: Cambiar el color de la fila al selecionar el radio button

Hola de nuevo,

Siento reabrir el hilo, pero es que no se por que no me funciona.

Tengo el siguiente código HTML que me ha generado el PHP al hacer una colsulta:
Código HTML:
<html>
<head>
<title>Aplicaci&oacute; para dispositivos m&oacute;viles con localizaci&oacute;n GPS</title>
<link rel="stylesheet" href="css/estilo.css" media="screen" type="text/css"></link>
<script type="text/javascript" src="js/iluminar.js"></script>
</head>
<body onload="ini()">
	<br>
	<span class="titulo">Resultados de la b&uacute;squeda:</span>
	<br>
	<form id="formu">
		<table id="tabla" border align="center" bordercolor="#bbcaeb">
			<th align="center" bgcolor="#bbcaeb">&nbsp;</th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Nombre</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Apellido</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Edad</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Profesion</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Provincia</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">Poblacion</span></th>
			<th align="center" bgcolor="#bbcaeb"><span class="headColumna">ID</span></th>
		
			<tr>
				<td bgcolor="white"><input type="radio" name="actualizar" value="3"></td>
				<td bgcolor="white" align="center"><span class="standar">Jose</span></td>
				<td bgcolor="white" align="center"><span class="standar">Zapatero</span></td>
				<td bgcolor="white" align="center"><span class="standar">24</span></td>
				<td bgcolor="white" align="center"><span class="standar">Vendedor</span></td>
				<td bgcolor="white" align="center"><span class="standar">Barcelona</span></td>
				<td bgcolor="white" align="center"><span class="standar">Barcelona</span></td>
				<td bgcolor="white" align="center"><span class="standar">3</span></td>
			</tr>
			<tr>
				<td bgcolor="white"><input type="radio" name="actualizar" value="1"></td>
				<td bgcolor="white" align="center"><span class="standar">Mariano</span></td>
				<td bgcolor="white" align="center"><span class="standar">Rajoy</span></td>
				<td bgcolor="white" align="center"><span class="standar">24</span></td>
				<td bgcolor="white" align="center"><span class="standar">Vendedor</span></td>
				<td bgcolor="white" align="center"><span class="standar">Barcelona</span></td>
				<td bgcolor="white" align="center"><span class="standar">Barcelona</span></td>
				<td bgcolor="white" align="center"><span class="standar">1</span></td>
			</tr>
		</table>
	</form>
</body>
</html> 
Pero al usar los scripts que me propusisteis para hacer que cuando se marque el radio se quede coloreada toda la fila no funcionana aquí.

Si uso este script funciona lo de iluminar, pero no lo de marcar:

Código PHP:
function ini()
{
  
tab=document.getElementById('tabla');
  
  for (
i=0ele=tab.getElementsByTagName('td')[i]; i++)
  {          
        
ele.onmouseover = function() {iluminar(this,true)}
        
ele.onmouseout = function() {iluminar(this,false)} 
  }
}

function 
iluminar(obj,valor)
{
  
fila obj.parentNode;
  for (
i=0ele fila.getElementsByTagName('td')[i]; i++)
  {
      
ele.style.background = (valor) ? 'slateblue' 'white';
      
fila.cells[0].onclick = function() {marcar(this)};
  }

En cambio, con el script de caricatos que funciona a la perfección en la pàgina que pusimos de ejemplo, aqui no funciona nada:

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/DTD/loose.dtd">
<html>
<head>
<title>
	http://www.caricatos.net/probador
</title>
<script>
function ini() {
	tab=document.getElementById('tabla');
	for (i=0; ele=tab.getElementsByTagName('TR')[i]; i++) {	
		ele.onmouseover = function() {iluminar(this,true)};
		ele.onmouseout = function() {iluminar(this,false)};
		ele.cells[0].onclick = function() {marcar(this)};
	}
}

function iluminar(obj,valor) {
estado = obj.getElementsByTagName("TD")[0].firstChild.checked;
if (!estado)
	obj.style.backgroundColor = (valor) ? 'blue' : 'white';
}

var marca = null;
function marcar(obj) {
	if (marca != null && marca != obj)	marca.parentNode.style.backgroundColor = "white";
	marca = obj;
}

window.onload = ini;
</script>
</head>
<body >
<form id="formu">
<table id="tabla" border> 
<tr>
 <td><input type="radio" name="actualizar" value="r1">
 <td>Nombre</td>
 <td>apellido</td>
 <td>ID</td>
</tr> 
<tr>
 <td><input type="radio" name="actualizar" value="r3">
 <td>Anacleto</td>
 <td>Roncesvalles</td>
 <td>1</td>
</tr> 
<tr>
 <td><input type="radio" name="actualizar" value="r3">
 <td>Froilán</td>
 <td>Del Cajón</td>
 <td>2</td>
</tr> 
</table>
</form>
</body>
</html>
He estado mirando pero no tengo ni idea de por que no va, alguna alma caritativa me puede socorrer???

Muchas gracias!!!

Última edición por crujikoki; 02/03/2008 a las 08:28 Razón: Faltas ortografía