Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Activar conjunto de botones Radio desde otro botón Radio

Estas en el tema de Activar conjunto de botones Radio desde otro botón Radio en el foro de Javascript en Foros del Web. Buenos días, Tengo un formulario con una colección de botones de tipo Radio que se repiten en varias filas. Me gustaría que desde unos botones ...
  #1 (permalink)  
Antiguo 17/02/2016, 04:50
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Activar conjunto de botones Radio desde otro botón Radio

Buenos días,

Tengo un formulario con una colección de botones de tipo Radio que se repiten en varias filas. Me gustaría que desde unos botones Radio ajenos a ese formulario, al activar un valor de esos botones Radio, se activen todos aquellos botones Radio del formulario que tengan el mismo valor del botón Radio activado.

Les pongo un ejemplo:

- Opción Global: X 1 - X 2 - X 3

- Fila 1 del Form: X 1 - X 2 - X 3
- Fila 2 del Form: X 1 - X 2 - X 3
- Fila 3 del Form: X 1 - X 2 - X 3
- Fila 4 del Form: X 1 - X 2 - X 3

Lo que pretendo es que al 'activar' una opción de la Opción Global (por ejemplo el Radio X 2), se activen todos los Radios de las filas del formulario (en el ejemplo la opción X 2).

Estoy intentando buscar info pero no la encuentro. ¿Alguna idea de cómo puedo lograr esto con Javascript?

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 17/02/2016, 05:49
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Activar conjunto de botones Radio desde otro botón Radio

Quieres que se activen las filas o las columnas??? por que activar la opcion X 2 sería activar las columnas...

Lo que puedes agregar a cada columna es un name o clase común dependiendo de lo que quieres activar, es decir, que para los X 2 puedes ponerle una clase "opcionDos" luego en JS, recoges la clase que activaste en Opción Global y recorres la tabla activando las clase "OpcionDos"
  #3 (permalink)  
Antiguo 17/02/2016, 06:25
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Activar conjunto de botones Radio desde otro botón Radio

Muchas gracias por tu respuesta.
Lo que pretendo es, desde un botón Radio independiente, activar un conjunto de botones Radio que tienen un mismo ID. Tengo alguna idea de cómo lograrlo, pero en mis pruebas no consigo que funcione.
Un saludo.
  #4 (permalink)  
Antiguo 17/02/2016, 07:17
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Activar conjunto de botones Radio desde otro botón Radio

Veamos si esto te sirve:


Código HTML:
Ver original
  1. Opción Global:
  2. <input class="inputradioA" type="checkbox" name="radio">A
  3. <input class="inputradioB" type="checkbox" name="radio">B
  4. <input class="inputradioC" type="checkbox" name="radio">C
  5. <br><br>
  6. <table border="1px" id="tabla">
  7.            <tr>
  8.               <td><input class="inputradioA" type="checkbox">A</td>
  9.               <td><input class="inputradioB" type="checkbox">B</td>
  10.               <td><input class="inputradioC" type="checkbox">C</td>
  11.           </tr>
  12.           <tr>
  13.               <td><input class="inputradioA" type="checkbox">A</td>
  14.               <td><input class="inputradioB" type="checkbox">B</td>
  15.               <td><input class="inputradioC" type="checkbox">C</td>
  16.           </tr>
  17.            <tr>
  18.               <td><input class="inputradioA" type="checkbox">A</td>
  19.               <td><input class="inputradioB" type="checkbox">B</td>
  20.               <td><input class="inputradioC" type="checkbox">C</td>
  21.           </tr>
  22.         </table>

OJO ESTO USA LA LIBRERÍA JQUERY

Código Javascript:
Ver original
  1. jQuery(document).ready(function(){
  2.    //Cuando los input con name = radio cambian su estado
  3.    $('input:checkbox[name="radio"]').change(function(){
  4.             //Obtengo su clase
  5.             var clase=$(this).attr("class");
  6.             //Si esta en estado checked, pongo en checked a todo los checkbox de la tabla con la misma clase
  7.             if ($(this).prop('checked')){
  8.                  $('#tabla tr td input:checkbox[class="'+clase+'"]').each(function() {
  9.                    $(this).prop("checked", "checked");
  10.                  });
  11.             }
  12.             //Si no tienen ese estado, quito el estado checked
  13.             else{
  14.                    $('#tabla tr td input:checkbox[class="'+clase+'"]').each(function() {
  15.                            $(this).prop("checked", "");
  16.                     });
  17.           }
  18. });
  19.  
  20. });


Ejemplo funcionando
  #5 (permalink)  
Antiguo 18/02/2016, 01:56
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Activar conjunto de botones Radio desde otro botón Radio

Buenos días,

Muchas gracias por tu ayuda y dedicación.
Tu solución, desgraciadamente, no me sirve porque mis Radio button están parametrizados (desconozco de antemano su existencia). Su relación se produce por su ID, que sí es común.
De todas formas tu código me sirve como orientación.
Un saludo.
  #6 (permalink)  
Antiguo 18/02/2016, 02:39
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Activar conjunto de botones Radio desde otro botón Radio

Buenos días,

Acabo de solucionar el problema. Pongo el código por si fuera de interés.

HTML:

cabecera:

<input type="radio" id="0001" name="0001" value="0101" onChange="javascript:checkAllRadio('introducirjorn ada','00010101')" />
<input type="radio" id="0001" name="0001" value="0102" onChange="javascript:checkAllRadio('introducirjorn ada','00010102')" />
<input type="radio" id="0001" name="0001" value="0103" onChange="javascript:checkAllRadio('introducirjorn ada','00010103')" />
<input type="radio" id="0001" name="0001" value="0104" onChange="javascript:checkAllRadio('introducirjorn ada','00010104')" />
<input type="radio" id="0001" name="0001" value="0105" onChange="javascript:checkAllRadio('introducirjorn ada','00010105')" />

fila (la 1ª):

<input id="00010101" type="radio" name="000119122014091036" value="0101" />
<input id="00010102" type="radio" name="000119122014091036" value="0102" />
<input id="00010103" type="radio" name="000119122014091036" value="0103" />
<input id="00010104" type="radio" name="000119122014091036" value="0104" />
<input id="00010105" type="radio" name="000119122014091036" value="0105" checked='checked' />

Código Javascript:

function checkAllRadio(thisForm, elmnt) {
var o = document.forms[thisForm].elements
if (o){
for (i=0; i<o.length; i++){
if ((o[i].type =='radio')&&(o[i].id == elmnt)){
o[i].checked = true
}
}
}
}

Un saludo.

Etiquetas: botones, conjunto, formulario, radio, 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 11:31.