GOOGLE ADS

miércoles, 20 de abril de 2022

Obtener el valor del botón de radio que se seleccionó antes de que el usuario seleccione uno nuevo

Si tengo 3 botones de radio, ¿hay alguna forma a través de jQuery de averiguar el valor del que se seleccionó antes de que el usuario haga clic en uno nuevo?

<div id="radio-group">
<input type="radio" id="radio-1" name="radios" value="1" checked="true" />
<input type="radio" id="radio-2" name="radios" value="2" />
<input type="radio" id="radio-3" name="radios" value="3" />
</div>

En el ejemplo anterior, si el usuario hace clic en radio-3, necesito una forma de obtener 1, para poder formatearlo. Gracias.


Solución del problema

"Ha pasado un tiempo" sería un eufemismo, pero en caso de que alguien se tropiece con este tema:

Adil me señaló en la dirección correcta, sin embargo, mouseupsolo funciona para eventos activados por el mouse (duh), así que probé con focusy, dado que también sucede antes changedel evento, funciona con las entradas del mouse y del teclado (como cuando cambias las radios estado mediante el tabulador y las teclas de flecha ). Entonces, para obtener acceso al elemento previamente seleccionado/marcado antes de la interacción del usuario que usa focusy para obtener el elemento actual, usa su buen viejo change:

//html
<input type="radio" id="radio-1" name="radios" value="1" />
<input type="radio" id="radio-2" name="radios" value="2" />
//js
//if currently checked item is radio-1
$('[name=radios]').on('focus', function() {
console.log($('[name="radios"]:checked').val()); //outputs 1
});
$('[name=radios]').change(function() {
console.log($('[name="radios"]:checked').val()); //outputs 2
});

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...