He leído algunas soluciones aquí, pero mi problema es lo suficientemente diferente como para que no funcionen. Básicamente, si el botón de opción está marcado, agrega una clase css al div principal. Si la radio no está marcada, elimine la clase css. Suena simple?jQuery agregar/eliminar clase css en la radio seleccionada
Tengo más de un grupo de botones de opción, es decir, habrá múltiples botones de opción seleccionados a la vez. Cada grupo de botones de radio también se encuentra en diferentes partes de la página separadas por otros html.
Esto es lo que ocurrió:
$(document).ready(function() {
$('input').click(function() {
if ($('input:not(:checked)')) {
$('div').removeClass('style1');
}
if ($('input').is(':checked')) {
$(this).parent().addClass('style1');
}
});
});
Creo que estoy en el camino correcto con la entrada: no (: activada), pero en la siguiente línea que elimina style1 de todos los elementos div en lugar de verificar si está marcado otro botón secundario botón de selección secundario.
Supongo que lo que estoy preguntando es cómo escribo un script que cuando se hace clic en un botón de opción, agrega una clase css al padre y luego encuentra todas las etiquetas div en la página que tiene un hijo de entrada. Si la entrada secundaria divs no está marcada, elimine la clase css. Entonces, si un div tiene un elemento de entrada hijo y está marcado, no elimine la clase css de las entradas div.
Espero que tenga sentido.
un año después ..todavía ayudó a alguien – andrewk
Funciona bien, pero el código parece tener un carácter ilegal. Se elimina fácilmente con un violín (marcado en rojo): https://jsfiddle.net/y5hkookq/ – cptstarling
También existe el hecho de que las clases se pierden cuando se actualiza la página, aunque las opciones todavía están marcadas. – cptstarling