Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/09/2012, 10:24
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Poner o quitar class según input radio seleccionado.

Cita:
Iniciado por julidiablo Ver Mensaje
Hola,

Es la primera vez que utilizo JavaScript, y traté de hacerlo leyendo un poco por google. Lo que estoy intentando hacer es lo siguiente. Supongamos que tenemos 3 input de tipo radio en 3 div diferentes, con nombre "c_f1_pX" la X va cambiando (pongo 3 no más, pero en mi código completo son varios, 15 aproximadamente). Y cada uno de los div contiene un input, que al hacer click le debe cambiar el class al div que lo contiene.

HTML:
Código HTML:
Ver original
  1. <div id="c_f1_p1" >
  2.     <input name="r_f1" type="radio"  onClick="cambiarClass('c_f1_p1')"/>
  3. </div>
  4. <div id="c_f1_p2">
  5.     <input name="r_f1" type="radio"  onClick="cambiarClass('c_f1_p2')"/>
  6. </div>
  7. <div id="c_f1_p3">
  8.     <input name="r_f1" type="radio" onClick="cambiarClass('c_f1_p3')"/>
  9. </div>
JS
Código Javascript:
Ver original
  1. function cambiarClass(id)
  2. {
  3.     var i
  4.     for(i = 1; 1 < 3; i++)
  5.     {
  6.         if("c_f1_p" + i == id)
  7.         {
  8.             document.getElementById(id).className = 'bonus';
  9.         }
  10.         else
  11.         {
  12.             document.getElementById(id).className = '';
  13.         }
  14.     }
  15. }

El código seguramente esté mal, ya que no se mucho de JavaScript, nada prácticamente, pero lo intenté al menos xD. ¿Cuál puede ser el error?

Puse el código que resive el navegador, ya que el id del div lo coloco a través de php.
Gracias por leer, si necesitan alguna aclaración o algo diganme .
Pero el error esta claro mira tu linea


for(i = 1; 1 < 3; i++)

debería ser así, has puesto 1 en vez de i por eso no te funciona

for(i = 1; i <= 3; i++)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones