Foros del Web » Programando para Internet » Javascript »

Seleccionar radio cambiar color de texto, tiempo real

Estas en el tema de Seleccionar radio cambiar color de texto, tiempo real en el foro de Javascript en Foros del Web. La idea es al seleccionar un item del radio, este cambie de color, como el siguiente ejemplo: eso porfavor, no se me ocurre que mas ...
  #1 (permalink)  
Antiguo 07/09/2011, 19:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 8 meses
Puntos: 11
Seleccionar radio cambiar color de texto, tiempo real

La idea es al seleccionar un item del radio, este cambie de color, como el siguiente ejemplo:



eso porfavor, no se me ocurre que mas hacer.

Tengo este codigo:

Código Javascript:
Ver original
  1. <script>
  2. function VerColor(){
  3.        if (document.color.radio1.checked)
  4.          var colortexto = "";
  5.      }
  6.  
  7.        if (document.color.radio2.checked)
  8.          var colortexto = "red";
  9.      }
  10.  
  11.        if (document.color.radio3.checked)
  12.          var colortexto = "blue";
  13.      }
  14.  
  15. </script>
  16.  
  17.  
  18. Seleccione una opcion <br> <br>
  19.  
  20. <form name=color>
  21. <input type="Radio" name="radio1" onClick="VerColor()" value="" checked> Opcion 1
  22. <br>
  23. <input type="Radio" name="radio2" onClick="VerColor()" value="rojo"> Opcion 2
  24. <br>
  25. <input type="Radio" name="radio3" onClick="VerColor()" value="azul"> Opcion 3
  26. </form>
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #2 (permalink)  
Antiguo 07/09/2011, 21:39
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: Seleccionar radio cambiar color de texto, tiempo real

Una opción muy linda es usar CSS3 :)
Código HTML:
Ver original
  1. input[type="radio"]:checked+label{
  2.     color:red;
  3.   }
  4.   <p><input type="radio" name="opcion" id="opcion1" />  <label for="opcion1">Opcion 1</label></p>
  5.  <p><input type="radio" name="opcion" id="opcion2" />  <label for="opcion2">Opcion 2</label></p>
  6.  <p><input type="radio" name="opcion" id="opcion3" />  <label for="opcion3">Opcion 3</label></p>

Claro que por ahora no hay muy buena compatibilidad. La opción con JavaScript yo la haría con jQuery por el hecho que es necesario un manejo relativamente avanzado de eventos, atributos, elementos, etc :P La hice bastante general para que pueda aplicarse fácilmente.

Asegurate de usar un enmarcado válido y como te lo indico en el ejemplo.

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  3.   $(function(){
  4.      var colorChecked = '#F00';
  5.      var colorNormal = '#000';
  6.     $('input[type="radio"]').click(function(){
  7.       var _radio = $(this);//obtener radiobutton cliqueado
  8.       var _grupo = _radio.attr('name');//obtener grupo al que pertenece el radiobutton
  9.       $('input[name="'+_grupo+ '"]').siblings('label').css('color',colorNormal); //poner en colorNormal todas las labels de ese GRUPO de radiobuttons
  10.       var label = $('label[for="'+_radio.attr('id')+'"]');//obtener label correspondiente a este radiobutton
  11.       if(_radio.is(':checked')){
  12.         label.css('color',colorChecked);
  13.       }else{
  14.         label.css('color',colorNormal);        
  15.       }
  16.     });
  17.   });
  18. </head>
  19.   <h2>Grupo 1</h2>
  20. <p><input type="radio" name="opcion" id="opcion1" />  <label for="opcion1">Opcion 1</label></p>
  21. <p><input type="radio" name="opcion" id="opcion2" />  <label for="opcion2">Opcion 2</label></p>
  22. <p><input type="radio" name="opcion" id="opcion3" />  <label for="opcion3">Opcion 3</label></p>
  23.   <h2>Grupo 2</h2>
  24. <p><input type="radio" name="otra_opcion" id="opcion4" />  <label for="opcion4">Opcion 1</label></p>
  25. <p><input type="radio" name="otra_opcion" id="opcion5" />  <label for="opcion5">Opcion 2</label></p>
  26. <p><input type="radio" name="otra_opcion" id="opcion6" />  <label for="opcion6">Opcion 3</label></p>
  27. </body>
  28. </html>
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 07/09/2011, 21:46
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: Seleccionar radio cambiar color de texto, tiempo real

Me parece que esta opción es mejor, usando clases de CSS:

Código Javascript:
Ver original
  1. $(function(){
  2.      $('input[type="radio"]').click(function(){
  3.        var _radio = $(this);//obtener radiobutton cliqueado
  4.        var label = $('label[for="'+_radio.attr('id')+'"]');//obtener label correspondiente a este radiobutton
  5.        var _grupo = _radio.attr('name');//obtener grupo al que pertenece el radiobutton
  6.        $('input[name="'+_grupo+ '"]').siblings('label').removeClass('chequeado'); //poner en colorNormal todas las labels de ese GRUPO de radiobuttons
  7.        if(_radio.is(':checked')){
  8.           label.toggleClass('chequeado');
  9.         }else{
  10.           label.toggleClass('chequeado');        
  11.         }
  12.      });
  13. });
__________________
nahueljose.com.ar

Etiquetas: color, radio, real, seleccionar
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 18:26.