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

Mira podrías optimizar tu código haciendo lo siguiente, motivos crear los eventos dentro del HTML ensucia el código en tal, luego que pasaría si tuvieras mas radio button entonces seria un fastidio estar quitando o incrementando el valor total, acá te dejo una solución bastante razonable.

Supongamos que puedan ser mas:

Código HTML:
Ver original
  1. <div id="c_f1_p1" >
  2. <input name="r_f1" type="radio" />A
  3. </div>
  4. <div id="c_f1_p2">
  5. <input name="r_f1" type="radio" />A
  6. </div>
  7. <div id="c_f1_p3">
  8. <input name="r_f1" type="radio" />A
  9. </div>
  10.  
  11. <div id="c_f2_p1" >
  12. <input name="r_f1" type="radio" />A
  13. </div>
  14. <div id="c_f2_p2">
  15. <input name="r_f1" type="radio" />A
  16. </div>
  17. <div id="c_f2_p3">
  18. <input name="r_f1" type="radio"/>A
  19. </div>

El JavaScript:

Código Javascript:
Ver original
  1. window.onload= function(){
  2.     var ele = document.getElementsByName("r_f1")
  3.     for(var x=0;ele[x];x++){
  4.         if(window.attachEvent){
  5.             ele[x].attachEvent("onclick",cambiar);
  6.         }else{
  7.             ele[x].addEventListener("click",cambiar);            
  8.         }
  9.     }
  10. };
  11.  
  12. function cambiar(){
  13.     var ele = document.getElementsByName("r_f1");
  14.     var pid = this.parentNode.id;
  15.     var pidf = pid.indexOf("f1") == -1 ? "f2" : "f1";
  16.     for(var x=0;ele[x];x++){
  17.         var _pid = ele[x].parentNode;
  18.         var _pidf = _pid.id.indexOf("f1") == -1 ? "f2" : "f1";
  19.         if(pidf === _pidf){
  20.     console.log('dentro');
  21.             _pid.className = _pid.id == pid ? 'bonus' : '';
  22.         }
  23.     }
  24.    
  25. }
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones