Tengo dos botones de opción para cambiar el evento, quiero cambiar el botón ¿Cómo es posible? Mi código
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer">Transfer
Guión
<script>
$(document).ready(function () {
$('input:radio[name=bedStatus]:checked').change(function () {
if ($("input[name='bedStatus']:checked").val() == 'allot') {
alert("Allot Thai Gayo Bhai");
}
if ($("input[name='bedStatus']:checked").val() == 'transfer') {
alert("Transfer Thai Gayo");
}
});
});
</script>
if($("input[name='bedStatus']:checked").val() == 'allot')
se puede escribirif($("input[name='bedStatus']").val() == 'allot')
Respuestas:
Puede usar el
this
que se refiere alinput
elemento actual .http://jsfiddle.net/4gZAT/
Tenga en cuenta que está comparando el valor con
allot
con las declaraciones if y:radio
selector están en desuso.En caso de que no esté usando jQuery, puede usar los métodos
document.querySelectorAll
yHTMLElement.addEventListener
:fuente
:radio
selector no está en desuso (en jQuery).this
valor o desea utilizar elthis
valor de contexto circundante en su controlador, utiliza este fragmentothis
. ¡Y afirmar que usar funciones regulares es "vieja mala práctica" no tiene sentido! Además, los navegadores más antiguos no son compatibles con la sintaxis de la función de flechaArray#includes
y uno debe usar un transpilador y una cuña para admitir navegadores más antiguos. ¿Por qué hacer una respuesta simple que no tiene nada que ver específicamente con las funciones de flecha complicadas?this
, yo usoevent.target
.Una adaptación de la respuesta anterior ...
http://jsfiddle.net/xwYx9
fuente
.on()
realmente tiene ganancias en relación con lo anterior, sin embargo, al tener en cuenta los selectores dinámicos, seguramente es la única forma de ir en jQuery 1.7+on
tiene ganancias cuando proporciona un contexto para la delegación de eventos, o incluso para selectores dinámicos como dijo, pero la forma en que lo escribió es exactamente la misma que la respuesta anterior.Una forma más simple y limpia sería usar una clase con la respuesta de @ Ohgodwhy
Guión
fuente
JS Fiddle
fuente
$(this).is(":checked")
usarthis.checked
. Es puro JS y es mucho más rápido.Usar la función onchage
fuente
Solución simple ES6 (solo javascript) .
fuente
fuente
fuente
Si los botones de opción se agregan dinámicamente, es posible que desee utilizar esto
fuente
fuente